在对Vector、ArrayList进行迭代的同时删除数据就会抛出java.util.ConcurrentModificationException异常

例如先新建一个列表

ArrayList<String> names = new ArrayList<>();
names.add("aaa");
names.add("bbb");
names.add("ccc");
names.add("ddd");

然后同时在其中删除数据

for(String name : names){
if (name.equals("ccc")){
names.remove("ccc");
}
}

此时就会出现上述报错。

因此需要用另外一种方法来从Arraylist中删除数据:

Iterator<String> itr = names.iterator();
while(itr.hasNext()){
String name = itr.next();
if(name.equals("ccc")){
itr.remove();
}
}

这样可以使用迭代器成功删除Arraylist中的数据。