【发布时间】:2014-02-19 22:08:47
【问题描述】:
当尝试在循环中的列表中添加/删除某些内容时,java 可能会引发ConcurrentModificationException 异常。在谷歌搜索后,我遇到了克服问题的方法,例如应用接口迭代器,当你想删除一个项目时,你需要使用 remove() 函数通过迭代器本身从列表中删除它。
但是,在迭代器的方法中没有 add() 函数,因此添加元素而不引发异常的唯一方法是使用循环 for (int i = 0; i < list.size(); i++) 通过使用索引/位置。但是,对于大型列表,此循环效率极低,因为您需要通过一直遍历列表来获取相关项目的索引位置。所以我的问题是,除了我提到的可以用来将项目添加到列表的方式之外,您还知道其他方式吗?
谢谢
【问题讨论】:
-
有一种简单的方法可以获取另一个列表并添加到该列表中。使用 addAll() 方法后。