使用LinkedList实例化一个list集合,通过Iterator()方法序列化集合中的对象。
java">java.util.Iterator<String> it = list.iterator();
while (it.hasNext()) {
System.out.println(it.next());
}
在循坏输出时出现以下错误:
java">Exception in thread "main" java.util.ConcurrentModificationException
at java.base/java.util.LinkedList$ListItr.checkForComodification(LinkedList.java:970)
at java.base/java.util.LinkedList$ListItr.next(LinkedList.java:892)
at day1.addAll.main(addAll.java:32)
错误:执行完循环语句System.out.println(it.next());这句代码执行时不仅会返回游标右边的元素还会把游标移动到下一个位置。而list.iterator()不会发生变化,没有循环机制,只要判断list.iterator()游标右边有元素就会一直执行,造成死循环。
解决办法:
将while()语句改成for语句,如下:
java"> for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}