HashMap与ArrayList(160个条目)

时间:2012-04-02 12:19:06

标签: java performance arraylist hashmap

  

可能重复:
  Memory overhead of Java HashMap compared to ArrayList

我尝试搜索谷歌但没有找到答案,我需要存储160个集合,我不想迭代它们,我想通过一个条目获得值,一个点2D,什么是最好的? 内存消耗更少,访问速度更快? 非常感谢提前;)

3 个答案:

答案 0 :(得分:5)

160个参赛作品?谁在乎。使用哪个API更适合这个 - 可能是HashMap

此外,对于数据结构,非常频繁的权衡是速度与内存使用 - 通常你不能同时使用两者。 (例如,使用链接进行冲突解决的哈希表将为数组上的桶提供内存开销;通过键访问元素将比搜索数组中的键更快。)

答案 1 :(得分:2)

如果Hashmap vs ArrayList只有两个选项,显然它将成为Hashmap的速度。我不确定内存使用情况。但是ArrayList有能力维持秩序。

答案 2 :(得分:2)

  

内存消耗更少,访问速度更快?

HashMap可能会提供更快的访问速度。这个可能在计算上非常重要,但前提是应用程序使用该集合进行了大量的查找。

ArrayList可能提供最少的内存使用量。但是,对于包含160个元素的单个集合,差异可能无关紧要。


我的建议是不要花很多时间来决定哪个是最好的。如果需要,扔一枚硬币,然后继续处理更重要的问题。如果CPU和/或内存分析告诉您此数据结构是一个关键瓶颈,那么您应该担心这种事情(集合总是很小)。