当尝试在循环中添加/删除列表中的某些内容时,java可能会引发ConcurrentModificationException
个异常。在谷歌搜索后,我遇到了克服问题的方法,例如应用接口迭代器,以及当你想要删除项目时,需要使用remove()
函数通过迭代器本身将其从列表中删除。
但是,迭代器的方法中没有add()
函数,因此添加没有异常的元素的唯一方法是使用索引/位置来循环for (int i = 0; i < list.size(); i++)
。但是,对于大型列表,此循环效率极低,因为您需要通过遍历列表来获取所讨论项的索引位置。所以我的问题是除了我提到的用于将项目添加到列表中的方式之外,您是否知道其他任何方式?
谢谢
答案 0 :(得分:3)
我的建议是听取ConcurrentModificationException的建议,只需改变你对问题的处理方法。在迭代时不应修改列表。