我需要从一个 ArrayList
中删除一些对象,如果它们满足某个条件,我想知道哪种方式更有效率。
这是情况:我有一个包含其他对象的 ArrayList
的类。我必须遍历这个 ArrayList
并删除所有符合某个条件的元素。
据我所知,以下是我删除的选项:
创建一个新的
ArrayList
并添加不满足条件的元素。在迭代结束后,将旧的数组列表与没有元素的新列表进行交换。创建一个新的
ArrayList
并添加符合条件的元素。在迭代结束后,使用removeAll()
方法传递要删除的对象的ArrayList
。
是否有更有效率的方法从 ArrayList
中删除对象?
ArrayList.remove()
,即equals()
的语义是否按照您在列表中需要的方式工作? - Hanno Fietz