gpt4 book ai didi

java - 从 CopyOnWriteArrayList 中删除元素

转载 作者:搜寻专家 更新时间:2023-10-30 19:49:50 24 4
gpt4 key购买 nike

当我尝试使用迭代器从 CopyOnWriteArrayList 中删除元素时出现异常。我注意到它已记录在案

Element-changing operations on iterators themselves (remove, set, and add) are not supported. These methods throw UnsupportedOperationException.

(来自 http://download.oracle.com/javase/6/docs/api/java/util/concurrent/CopyOnWriteArrayList.html)

现在,令人惊讶的是我可以用 foreach 迭代它并使用 remove() 函数。但是后来我遇到了一个著名的错误——当试图使用 for 循环从列表中删除一个项目时——你跳过了被删除元素旁边的元素。有什么建议吗?

最佳答案

遍历集合,选择所有要删除的元素并将它们放入临时集合中。完成迭代后,使用方法 removeAll 从原始集合中删除所有找到的元素。

这对你有用吗?我的意思是,不确定删除逻辑是否比您的算法更复杂。

关于java - 从 CopyOnWriteArrayList 中删除元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5612470/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com