public Collection<String> m2(Vector<String> list) {
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
String temp = iterator.next();
if ("3".equals(temp)) {
list.remove(temp);
}
}
return list;
}
4、阅读源码可以看到,在AbstractList类里面定义有成员变量modCount(修改次数)和expectedModCount(期望修改次数,初始值为modCount),在多线程并发下修改时候会出现这两个值不相等,而抛出ConcurrentModificationException异常。
final void checkForComodification() {
if (modCount != expectedModCount)
throw new ConcurrentModificationException();
}
原文:http://blog.51cto.com/3265857/2311157