具有队列基​​本功能的最快 Java 集合是什么?

2023-12-22

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有。在基准测试中,它的表现约为3xLinkedList对于大队列甚至比ArrayList对于空队列。为了获得最佳性能,您可能希望为其提供足够大的初始容量,以容纳一次可能容纳的元素数量,以避免多次调整大小。

Between ArrayList and LinkedList,这似乎取决于队列在任何给定时间将包含的总元素的平均数量,并且LinkedList beats ArrayList从大约 10 个元素开始。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

具有队列基​​本功能的最快 Java 集合是什么? 的相关文章

随机推荐