当我们在当前节点之后添加一些对象或在当前节点之后删除一些对象时如何Iterator抛出ConcurrentModificationException.是否Iterator保留对基础集合的副本或引用?
迭代器维护对底层集合的引用.如果添加或删除元素,迭代器可能会留在不可能的索引中,或者集合可能会从迭代器的"下面"改变.
因此,不要让迭代器在不让您知道的情况下被破坏,大多数集合都会在您尝试在迭代时修改集合时抛出ConcurrentModificationException,这样您就不会遇到不可预测的损坏的迭代器.
| 归档时间: |
|
| 查看次数: |
5208 次 |
| 最近记录: |