并发修改异常
ConcurrentModificationException
产生原因
- 迭代器遍历的过程中 ,通过集合对象修改了集合中元素的长度,造成了迭代器获取元素中判断预期修改值和实际修改值不一致
解决方案
- 用for循环遍历, 然后用集合对象做对应的操作即可
//java.util.ConcurrentModificationException
public class ListDemo3 {
public static void main(String[] args) {
// 创建集合对象
List<String> list = new ArrayList<>();
// 添加元素
list.add("hello");
list.add("world");
list.add("java");
// Iterator<String> it = list.iterator();
// while(it.hasNext()) {
// String s =it.next();
// if (s.equals("world")) {
// list.add("javaee");
// }
// }
for (int i = 0; i < list.size(); i++) {
String s = list.get(i);
if (s.equals("world")) {
list.add(0, "javaee");
}
}
// 输出集合对象
System.out.println(list);
}
}