首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >优化ArrayList.removeAll

优化ArrayList.removeAll
EN

Stack Overflow用户
提问于 2011-07-24 08:39:30
回答 2查看 4.1K关注 0票数 9

很多人都说ArrayList.removeAll在处理大型数组时非常慢。

article为ArrayList.removeAll速度提供了两个优化的解决方案,但需要在类本身中实现它们,并且不能作为修复程序在外部使用。

除了复制ArrayList源代码并使用我自己的版本之外,有什么方法可以应用这种修复吗?

编辑:我想我应该添加我对此的需求,因为可能有一种方法可以在没有ArrayList.removeAll的情况下完成我想要的事情。

我有两个关于70,000 longs的列表。它们几乎是相同的,但是一个列表有更多的数字,而第二个列表没有,我想要找到它们。我知道找到它们的唯一方法是做first.removeAll(second)来找出区别。还有别的办法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-07-24 10:35:00

如果使用删除时间更短的数据结构,比如HashSet或TreeSet呢?因此,使用arraylist的最大原因是访问记录的快速访问时间O(1)。但是如果你正在尝试设置不同,那么也许你应该使用集合。这只是个想法。

票数 9
EN

Stack Overflow用户

发布于 2011-07-24 08:48:49

您可以创建ArrayList的子类来优化该方法(可能还有其他方法)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6804238

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档