public class Test {
public static void main(String[] args) {
Collection<String> arr=new ArrayList<String>();
arr.add("张无忌");
arr.add("张翠山");
arr.add("赵敏");
arr.add("杨不悔");
for (String str : arr) {
if(str.equals("张翠山")){
arr.remove(str);
}
}
for (String name : arr) {
System.out.print(name+" ");
}
}
}
结果:
Exception in thread "main" java.util.ConcurrentModificationException
分析:
foreach的底层是迭代器,其在遍历的时候不能添加和删除元素,因为我们根本调用不到底层的迭代器对象