并发修改异常&&源码
1.指的是在使用迭代器迭代过程中,使用集合修了其长度,抛出并发修改异常
原理:期望值和修改值不一致 --> 每次修改集合长度,modCount 会变,而期望值不变
在进行next 方法取出元素时,对应期望值和修改值不相等,于是抛出并发修改异常
解决: 使用listIterator
ArrayList<Integer> coll = new ArrayList();
ListIterator<Integer> lit = coll.listIterator();
while(lit.hasNext()){
lit.add();
Integer num = it.next();
}
增强for
1.增强for语法
for(被遍历的数据类型 临时变量名 : 需要被遍历的数组或者集合){
.....
}
2.增强for 底层实际上,就是一个迭代器
3.增强for在遍历过程中,不能对元素进行修改
|
|