List<String> list = new ArrayList<>();
list.add("cobe");
list.add("james");
list.add("curry");
Iterator<String> its = list.iterator();
while (its.hasNext()) {
String s = its.next();
if (!s.equals("lin")) {
list.add("lin");
}
}
报错:next() 源码里对当前修改次数和预期修改次数做比较,不一致就会报错
解决方法1
使用列表迭代器
ListIterator lis = list.listIterator();
法2
使用for循环
for (int i=0; i<list.size(); i++) {
String s = list.get(i);
if (s.equals("james")) {
list.add("lin");
}
}