foreach遍历list集合删除某些元素一定会报错吗,来,先上一段代码:
1)报错啦
List list = new ArrayList();
list.add("1");
list.add("2");
list.add("3");
list.add("4");
list.add("5");
for (String item : list) {
if (item.equals("3")) {
System.out.println(item);
list.remove(item);
}
}
System.out.println(list.size());
理所应当,控制台就愉快的报出了java.util.ConcurrentModificationException。
这是怎么回事,然后去看了看这个异常,才发现自己果然还是太年轻啊。
我们都知道增加for循环即foreach循环其实就是根据list对象创建一个iterator迭代对象,用这个迭代对象来遍历list,相当于list对象中元素的遍历托管给了iterator,如果要对
版权声明:本文为bimuyulaila原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。