码上敲享录 > java入门知识分享 > HashMap默认的容量大小和扩容的大小

HashMap默认的容量大小和扩容的大小

上一章章节目录下一章 2019-06-17已有6277人阅读 评论(0)

HashMap默认的容量大小和扩容的大小


解决方法:

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的性能。


2

有建议,请留言!

  • *您的姓名:

  • *所在城市:

  • *您的联系电话:

    *您的QQ:

  • 咨询问题:

  • 提 交