出现:
当我们用迭代器遍历集合的同时想要改变集合元素时,控制台会抛出ConcurrentModificationException 并发修改异常
原因:
我们用的是迭代器,进行遍历,在遍历之前,迭代器已经知道了,你集合中的所有元素
然后你在迭代的过程当中,突然间想要添加一个元素,迭代器肯定加不进去的
解决:
1.用迭代器中的添加方法,不用集合的添加方法
while (iterator.hasNext()) {
String ele = iterator.next();
if("world".equals(ele)) {
//arrayList.add("javaee"); // ConcurrentModificationException 并发修改异常
iterator.add("javaee");//用迭代器的添加方法
}
}
2.用for循环遍历
for(int i=0;i<arrayList.size();i++) {
String ele = arrayList.get(i);
if("world".equals(ele)) {
arrayList.add("javaee");
}
}