ArrayList中remove方法的注意事项

分手后的思念是犯贱 2022-05-21 22:10 324阅读 0赞

少罗嗦,先看代码

  1. public class ListRemove {
  2. public static void main(String[] args) {
  3. System.out.println("测试remove包装类型和非包装类型");
  4. ArrayList<Integer> myList = new ArrayList<Integer>();
  5. for (int k = 0; k < 10; k++) {
  6. myList.add((k + 1) * 10);
  7. }
  8. System.out.println("myList:" + myList);
  9. // remove(8) 是删掉下标为8的元素
  10. System.out.println(String.format("%s:%s myList:%s", "remove(8)", myList.remove(8), myList));
  11. // 把元素80换成8
  12. myList.set(myList.indexOf(80), 8);
  13. Collections.shuffle(myList);
  14. System.out.println("myList:" + myList);
  15. // myList.remove(Integer.valueOf(8)) 是删掉8这个元素
  16. System.out.println(String.format("%s:%s myList:%s", "remove(Integer.valueOf(8))", myList.remove(Integer.valueOf(8)), myList));
  17. }
  18. }

output:

  1. 测试remove包装类型和非包装类型
  2. myList:[10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
  3. remove(8):90 myList:[10, 20, 30, 40, 50, 60, 70, 80, 100]
  4. myList:[20, 50, 40, 60, 100, 10, 30, 70, 8]
  5. remove(Integer.valueOf(8)):true myList:[20, 50, 40, 60, 100, 10, 30, 70]

总结

  • 如果ArrayList内装的是Integer对象,则 .remove(8)是删掉下标为8的元素
  • .remove(Integer.valueOf(8)) 是删掉8这个元素
  • 查看源码,发现public E remove(int index)ArrayList父类AbstractList的方法;public boolean remove(Object o)AbstractList的父类AbstractCollection中的方法。
    这里写图片描述
    ArrayList中发生了重载

发表评论

表情:
评论列表 (有 0 条评论,324人围观)

还没有评论,来说两句吧...

相关阅读

    相关 方法使用注意事项

    方法使用注意事项:   1、方法不能定义在另一个方法的里面   2、写错方法名字   3、写错了参数列表   4、方法的返回值是void,方法中可以省略retu

    相关 定义方法注意事项

    定义方法时什么时候需要有返回值? 当我们需要获得该方法的结果在别的方法里面使用时需要给方法返回值。 定义方法什么时候需要参数? 当我们定义的这个方法能够在多处地方