fail-fast:快速失败
一般情况下,在对集合进行迭代(用Iterator)的时候,如果发现集合中的元素被修改了,那么迭代器会抛出ConcurrentModificationException。
下面是一个例子:
List<String> list = new ArrayList<String>();
for (int i = 0; i < 10; i++) {
list.add("list_" + i);
}
for (String str : list) {
list.remove(str);
}
执行上面代码会抛出
java.util.ConcurrentModificationException
at java.util.AbstractList$Itr.checkForComodification(AbstractList.java:372)
at java.util.AbstractList$Itr.next(AbstractList.java:343)
......