出错的场景
当通过迭代器(Iterator)进行集合的访问时,如果集合中的元素发生改变,会产生此异常。
出现此错误的原因
Iterator 工作在一个独立的线程中。Iterator被创建后会建立一个指向原来对象的单链索引表,当原来的对象数量发生变化时,这个索引表的内容不会同步改变,所以当索引指针往后移动的时候就找不到要迭代的对象,Iterator会抛出java.util.ConcurrentModificationException异常。
当通过迭代器(Iterator)进行集合的访问时,如果集合中的元素发生改变,会产生此异常。
Iterator 工作在一个独立的线程中。Iterator被创建后会建立一个指向原来对象的单链索引表,当原来的对象数量发生变化时,这个索引表的内容不会同步改变,所以当索引指针往后移动的时候就找不到要迭代的对象,Iterator会抛出java.util.ConcurrentModificationException异常。