当List集合在遍历循环的时候对集合进行操作,有时会报错,因为迭代器在获取元素时判断预期修改值和实际值不一致造成,可用for循环(不能是增强for循环)和List特有迭代器ListIterator解决
package org.fyd.spring.collection;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
/**
* fyd
* 2023-09-20
**/
public class CollectionTest {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("a");
list.add("b");
list.add("c");
Iterator<String> it = list.iterator();
while (it.hasNext()){
String s = it.next();
System.out.println(s);
if(s.equals("b")){
list.add("d");
// break; //不加就报错
}
}
// for(int i=0;i<list.size();i++){
// String s = list.get(i);
// System.out.println(s+"=====>>>>"+list.size());
// if(s.equals("b")){
// list.add("d");
break; //加不加都不报错
// }
// }
System.out.println(list);
}
}
for循环运行结果:
a=====>>>>3
b=====>>>>3
c=====>>>>4
d=====>>>>4
[a, b, c, d]