Possible Duplicate:
When to use HashMap over LinkedList or ArrayList and vice-versa
自从遇到Maps
在Java中我一直在广泛使用它们。特别是HashMap
对于许多场景来说都是一个很好的选择。看起来它胜过 ArrayList
在每个类别中 - 有人说迭代是不可预测的,但为此我们有 LinkedHashMap
。
所以,我的问题是:为什么不使用 HashMap
只要我们有一个可靠的不可变 key ,就一直可以吗?
此外,使用像 HashMap
这样的东西是否合适?对于非常少量(<10)的项目,或者是否有一些我没有考虑的额外开销?
最佳答案
当您的键是连续整数时,请使用ArrayList
。 (如果它们不是基于 0,则只需使用偏移量。)访问(特别是随机访问)和更新效率更高。否则,当然,HashMap
(或者,正如您所说,LinkedHashMap
)是非常有用的数据结构。
我相信 HashMap
的默认初始大小是 16 个存储桶,因此对于非常小的列表会产生一些开销。但除非您要创建大量 map ,否则它不应该成为编码中的一个因素。
关于java - 假设我有一个好的 key ,当不适合在java中使用 map 时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13225125/