ArrayList 初始容量:10 扩容因子:1,当容量达到上限后才会触发扩容。
扩容公式:新容量 = 旧容量/2 + 旧容量 + 1
比如:初始容量为4,其容量的每次扩充后的新容量为:4->7->11->17->26->...
即每次扩充至原有基础的1.5倍
Vector 初始容量:10 扩容因子:1,当容量达到上限后才会触发扩容。
扩容公式:old*2 如:一次扩容为20、二次扩容为40
HashSet 初始容量:16(Hashset是基于HashMap的所以是16)
扩容因子:0.75,当容量达到最大容量的75%时就会触发扩容。
扩容公式:old*2 如:一次扩容32,二次扩容64
HashMap 初始容量:16(为何是16,16是2^4,16<<1=32,可以提高查询效率)
扩容因子:0.75,当容量达到最大容量的75%时就会触发扩容。
扩容公式:old*2 如:一次扩容32,二次扩容64