Java 中最快的集合是什么?
我只需要添加和删除操作,顺序并不重要,equals元素不是问题,无非添加和删除很重要。
没有限制的大小也很重要。
这些集合里面都会有Object。
目前我正在使用 ArrayDeque 因为我发现这是更快的队列实现。
ArrayDeque
是最好的。看这个基准 http://microbenchmarks.appspot.com/run/limpbizkit@gmail.com/com.publicobject.blog.TreeListBenchmark,它来自这篇博文 https://publicobject.com/2010/07/07/caliper_confirms_reality_linked_list_vs_array_list/关于基准测试的结果。ArrayDeque
没有节点分配的开销LinkedList
也不会将数组内容左移的开销删除ArrayList
有。在基准测试中,它的表现约为3x也LinkedList
对于大队列甚至比ArrayList
对于空队列。为了获得最佳性能,您可能希望为其提供足够大的初始容量,以容纳一次可能容纳的元素数量,以避免多次调整大小。
Between ArrayList
and LinkedList
,这似乎取决于队列在任何给定时间将包含的总元素的平均数量,并且LinkedList
beats ArrayList
从大约 10 个元素开始。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)