我尝试搜索谷歌但没有找到答案,我需要存储160个集合,我不想迭代它们,我想通过一个条目获得值,一个点2D,什么是最好的? 内存消耗更少,访问速度更快? 非常感谢提前;)
答案 0 :(得分:5)
160个参赛作品?谁在乎。使用哪个API更适合这个 - 可能是HashMap
。
此外,对于数据结构,非常频繁的权衡是速度与内存使用 - 通常你不能同时使用两者。 (例如,使用链接进行冲突解决的哈希表将为数组上的桶提供内存开销;通过键访问元素将比搜索数组中的键更快。)
答案 1 :(得分:2)
如果Hashmap vs ArrayList只有两个选项,显然它将成为Hashmap的速度。我不确定内存使用情况。但是ArrayList有能力维持秩序。
答案 2 :(得分:2)
内存消耗更少,访问速度更快?
HashMap可能会提供更快的访问速度。这个可能在计算上非常重要,但前提是应用程序使用该集合进行了大量的查找。
ArrayList可能提供最少的内存使用量。但是,对于包含160个元素的单个集合,差异可能无关紧要。
我的建议是不要花很多时间来决定哪个是最好的。如果需要,扔一枚硬币,然后继续处理更重要的问题。如果CPU和/或内存分析告诉您此数据结构是一个关键瓶颈,那么您应该担心这种事情(集合总是很小)。