【发布时间】:2016-02-06 01:16:21
【问题描述】:
在 Java 中创建 Map 或 List 时,它们都具有相同的默认初始容量 10。它们的容量随着获得新元素而增长。但是,List 仅在添加第 11 个元素时才会增长,而 Map 在添加第 8 个元素时已经增长。发生这种情况是因为 Map 有一个 loadFactor 字段,该字段调节它的“饱和”程度。当饱和度高于 loadFactor 时,Map 会增长。 loadFactor 默认为 0.75。
我想知道为什么 Lists 和 Maps 有不同的机制来决定何时增加它们的初始容量?
【问题讨论】:
-
虽然没多大关系,只是为了澄清,HashMap的默认初始容量不是10,而是16,应该是2的幂
标签: java collections