使用Iterator在对List集合进行遍历集合时,如果只是遍历而不进行增加、删除操作时,可以正常运行吗,但是如果我们在使用迭代器对List集合进行插入或者删除时,就会出现Exception in thread "main" java.util.ConcurrentModificationException这个异常。
首先代码如下所示:
List<String> list = new ArrayList<String>();
list.add("aa");
list.add("2");
Iterator<String> iterator = list.iterator();
while(iterator.hasNext()){
String s = (String) iterator.next();
if(s.equals("2")){
list.add("good");
}
在idea中的报错如下所示:
Exception in thread "main" java.util.ConcurrentModificationException
at java.base/java.util.ArrayList$Itr.checkForComodification(ArrayList.java:1042)
at java.base/java.util.ArrayList$Itr.next(ArrayList.java:996)
at com.itheima.main.main(main.java:14)
由此我们可以知道这个错误时在代码的 14行,也就是下面那行