当我运行这个时,我得到了一个java.util.ConcurrentModificationException尽管我使用iterator.remove();
显然我在循环中添加了数字6.这是否发生是因为迭代器"不知道"它在那里并且无论如何都要修复它?
public static void main(String args[]){
List<String> list = new ArrayList<>();
list.add("1");
list.add("2");
list.add("3");
list.add("4");
list.add("5");
for(Iterator<String> it = list.iterator();it.hasNext();){
String value = it.next();
if(value.equals("4")) {
it.remove();
list.add("6");
}
System.out.println("List Value:"+value);
}
}
Run Code Online (Sandbox Code Playgroud)