【问题标题】:Avoid ConcurrentModificationException exception by adding items to a list [duplicate]通过将项目添加到列表来避免 ConcurrentModificationException 异常[重复]
【发布时间】:2014-02-19 22:08:47
【问题描述】:

当尝试在循环中的列表中添加/删除某些内容时,java 可能会引发ConcurrentModificationException 异常。在谷歌搜索后,我遇到了克服问题的方法,例如应用接口迭代器,当你想删除一个项目时,你需要使用 remove() 函数通过迭代器本身从列表中删除它。

但是,在迭代器的方法中没有 add() 函数,因此添加元素而不引发异常的唯一方法是使用循环 for (int i = 0; i < list.size(); i++) 通过使用索引/位置。但是,对于大型列表,此循环效率极低,因为您需要通过一直遍历列表来获取相关项目的索引位置。所以我的问题是,除了我提到的可以用来将项目添加到列表的方式之外,您还知道其他方式吗?

谢谢

【问题讨论】:

标签: java list


【解决方案1】:

我对您的建议是听取 ConcurrentModificationException 的建议并简单地改变您解决问题的方法。迭代列表时不应修改列表。

【讨论】:

    猜你喜欢
    • 2013-09-04
    • 2018-11-12
    • 2018-01-20
    • 2011-11-11
    • 2013-01-04
    • 2021-05-08
    • 1970-01-01
    • 2023-03-21
    • 1970-01-01
    相关资源
    最近更新 更多