HashMap默认大小和扩容后的大小
发布日期:2021-05-06 16:25:39 浏览次数:35 分类:原创文章

本文共 363 字,大约阅读时间需要 1 分钟。

put添加的元素Entry就是数组中的元素,每个Map.Entry其实就是一个key-value对,它持有一个指向下一个元素的引用,这就构成了链表。

创建HashMap对象默认情况下,数组大小为16。

开始扩容的大小=原来的数组大小*loadFactor。

扩容后大小是原来的2倍,其中加载因子loadFactor的默认值为0.75,这个参数可以再创建对象时在构造方法中指定。

例如:

16*0.75=12,默认创建一个map对象数组大小是16,当map添加12个元素到的时候就发生扩容,创建新的数组的大小2*16=32,然后重新计算每个元素在新数组中的位置,而这是一个非常消耗性能的操作,所以如果我们已经预知HashMap中元素的个数,那么预设元素的个数能够有效的提高HashMap的性能。       

 

默认大小16

                 

 

加载因子 0.75

                 

上一篇:HashMap和ArrayList初始大小和扩容后的大小
下一篇:集合和数组的区别

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2025年04月04日 18时14分10秒