记录一下 /* * 使用迭代器对ArrayList进行删除操作时会报ConcurrentModificationException * 数据共享出错 * 增强for循环只能取出ArrayLiat中元素,不能进行增删改操作 * 还是得用迭代器233 * */ 错误示范
for (Student student : arr) {
Number = student.number;
System.out.println(Number.indexOf(number));
if(Number.indexOf(number) < 0) {
arr.remove((Student)student);
}
}
改正后
Iterator<Student> iterator = arr.iterator();
while(iterator.hasNext()) {
Number = iterator.next().number;
if(Number.indexOf(number) < 0) {
iterator.remove();
}
}
本文深入探讨了在Java中使用迭代器对ArrayList进行删除操作时可能遇到的ConcurrentModificationException异常,解释了数据共享出错的原因,并给出了正确的实现方式。文章通过对比错误示范与改正后的代码,强调了在遍历过程中修改集合时使用迭代器的重要性。
602

被折叠的 条评论
为什么被折叠?



