关于操作计数器(modCount),再通过案例说明一下
public class test2 {
public static void main(String[] args) {
int index = 100;
ArrayList arrayList = new ArrayList(index);
for (int i = 0; i < index ; i++) {
arrayList.add(i);
}Iterator<Integer> iterator = arrayList.iterator();
while (iterator.hasNext()){
int a = iterator.next();
if(a == 3){
arrayList.remove(a); // list 删除了元素
}
}
}
}
运行结果:
从案例中我们可以看到,迭代的过程中是不允许删除或者添加元素的,修改没有问题,要保证长度不变。
再来看一个案例
public class test2 {
public static void main(String[] args) {
long[] long1 = new long[]{1,2,3,5};
List arrayList1 = Arrays.asList(long1);
System.out.println(arrayList1.size());Long[] long2 = new Long[]{1l,2l,3l,5l};
List arrayList2 = Arrays.asList(long2);
System.out.println(arrayList2.size());
}
}
运行结果:
我们要注意基本数据类型是不支持泛型化的。所以数组转list需要小心这种情况。
尚学堂给同学们带来全新的Java300集课程啦!java零基础小白自学Java必备优质教程_手把手图解学习Java,让学习成为一种享受_哔哩哔哩_bilibili