java中【HashMap】初始化时,尽量指定初始值大小

Inspection info:
集合初始化时,指定集合初始值大小。 说明:HashMap使用如下构造方法进行初始化,如果暂时无法确定集合大小,那么指定默认值(16)即可。

如果不超过16个,那么设置成默认大小16:

集合初始化时, 指定集合初始值大小。

说明:

HashMap使用HashMap(int initialCapacity)初始化

正例:

initialCapacity = (需要存储的元素个数 / 负载因子) + 1。注意负载因子(即loader factor)默认为0.75, 如果暂时无法确定初始值大小,请设置为16(即默认值)。

反例:

HashMap需要放置1024个元素,由于没有设置容量初始大小,随着元素不断增加,容量7次被迫扩大,resize需要重建hash表,严重影响性能。

     Negative example:   
       Map<String, String> map = new HashMap<String, String>();
     Positive example:
       Map<String, String> map = new HashMap<String, String>(16);

 

posted @ 2022-05-06 10:52  锐洋智能  阅读(2012)  评论(0编辑  收藏  举报