哪个更快的集合和更小的内存占用,我可以用来存储一些值,以便在后续迭代? (不需要订购)
答案 0 :(得分:1)
严重取决于用例。这就是为什么毕竟有这么多Collections
的原因!每个人都有一个不同的东西。
最重要的是 - Collection
您需要什么?除了迭代之外,你还有其他任何动作吗?它会存储多少个元素?是否会复制某些元素?是否存在性能方面或内存方面的限制?没有这些信息,我们只能给您一般答案。
最常用的方法是使用数组。认真。如果要保存内存,请使用数组。
如果那不是一个选项,那么ArrayList
是你的最佳选择,因为它在内部使用数组,并且是一般来说效率最高的Collection
(与ArrayDeque
一起,我认为)。它会预先分配一些空间,每次填满时会增加两倍。因此,尝试使用正确数量的插槽构造它,这样就不会使用冗余空间。
如果您正在寻找特定的东西,可以使用以下内容:
答案 1 :(得分:0)
这在很大程度上取决于用例。
它需要是一个集合吗?不只是一个阵列?我会选择LinkedList
,因为它不像ArrayList
或Vector
(颤抖)那样预先分配空间。