迭代器如何在添加时引发ConcurrentModificationException

班贾拉:

当我们在当前节点之后添加一些对象或在当前节点之后移除一些对象时,如何Iterator抛出ConcurrentModificationException是否Iterator维护基础集合的副本或参考?

路易斯·瓦瑟曼:

迭代器维护对基础集合的引用。如果添加或删除元素,则迭代器可能会留在不可能的索引处,或者集合可能会从“迭代器下方”更改。

因此,大多数集合不是在不通知您的情况下就破坏了迭代器,而是在尝试在迭代时修改集合时提供了ConcurrentModificationException的礼貌,因此您不会陷入意想不到的损坏的迭代器中。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在迭代期间添加项目时修复ConcurrentModificationException错误

如何在从LinkedList进行基于递归迭代器的删除时避免ConcurrentModificationException?

ConcurrentModificationException使用迭代器循环时

如何在迭代时从“ ArrayList”中删除元素时避免“ ConcurrentModificationException”?

如何在调用函数时根据Python上的迭代器添加代码行

快速失败的迭代器如何知道抛出“ ConcurrentModificationException”时修改了基础结构?

如何在HashMap上使用双重迭代器修复'java.util.ConcurrentModificationException'

ConcurrentModificationException的使用迭代器

迭代器和ConcurrentModificationException

ArrayList 迭代器 ConcurrentModificationException

如何在迭代器的collect语句中添加类型注释?

在列表迭代期间从java.util.List中删除元素时引发ConcurrentModificationException?

Java迭代器如何检测集合被修改抛出ConcurrentModificationException?

迭代地图和更改值时如何避免ConcurrentModificationException?

迭代时如何仅在 ArrayList 中避免 ConcurrentModificationException?

如何在不使用ConcurrentModificationException的情况下使用for-each循环进行迭代时修改Collection?

即使使用迭代器,添加到我的arraylist也会导致ConcurrentModificationException

即使使用迭代器从arraylist中删除元素时,java.util.ConcurrentModificationException

为什么在不迭代的情况下调用迭代器函数时不会引发TypeError?

从快速迭代添加时,如何使解析服务器条目保持唯一?

如何在控制器创建时添加外键值

如何在async.js迭代器中添加延迟(节点)

在Java中进行迭代时如何在List中添加元素?

如何在使用 OpenCV 迭代像素时添加 2 个 Mat 像素值?

如何在此循环中添加迭代

在使用迭代器删除条目ConcurrentModificationException的

两个迭代器抛出ConcurrentModificationException

HashSet的条目在迭代时给出ConcurrentModificationException

使用扫描迭代器时,如何在返回结果和下一次迭代之间共享状态?