初始化HashMap的默认值——阿里巴巴编码规范系列

Posted 来老铁干了这碗代码

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了初始化HashMap的默认值——阿里巴巴编码规范系列相关的知识,希望对你有一定的参考价值。

阿里巴巴编码规范中,对HashMap的规定是:当HashMap初始化时,尽量指定初始值的大小。


原因:若不设置初始值,系统的默认初始容量为16,若超出这个阈值,就会触发自动扩容,HashMap的自动扩容,会将容器容量扩大到原来的二倍。

初始值设为多大更合适呢?

阿里提出的建议是initialCapacity = (int) ((float) expectedSize / 0.75F + 1.0F)

即如果你要放100个元素,则初始容量为:100/0.75+1=134

以上是关于初始化HashMap的默认值——阿里巴巴编码规范系列的主要内容,如果未能解决你的问题,请参考以下文章

应如何设置HashMap容量的初始值?

应如何设置HashMap容量的初始值?

Java中HashMap的初始容量设置

阿里巴巴为什么让初始化集合时必须指定大小?

阿里巴巴为什么让初始化集合时必须指定大小?

HashMap默认加载因子为什么选择0.75?(阿里)