集合中添加,删除元素的操作都会让实际操作次数增加。
创建迭代器时,会有一个变量记录期望操作次数,如果在迭代过程中使用了集合的增加或删除方法,就会导致期望操作次数与实际操作次数不同,从而产生并发修改异常;
而如果使用迭代器中的删除方法或者列表迭代器的增加方法,其底层本质上也是使用了集合的增加或删除方法,不同之处在于这种方法进行修改后会更新期望操作次数,所以不会引发并发修改异常
集合中添加,删除元素的操作都会让实际操作次数增加。
创建迭代器时,会有一个变量记录期望操作次数,如果在迭代过程中使用了集合的增加或删除方法,就会导致期望操作次数与实际操作次数不同,从而产生并发修改异常;
而如果使用迭代器中的删除方法或者列表迭代器的增加方法,其底层本质上也是使用了集合的增加或删除方法,不同之处在于这种方法进行修改后会更新期望操作次数,所以不会引发并发修改异常