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

Posted zwq20134

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了集合初始化时,指定集合初始值大小。相关的知识,希望对你有一定的参考价值。

我们使用的HashMap一般情况的存储在1W对以上,默认的初始的table容量是16,

默认reHash每次容量翻倍,多次重构,影响性能

 

说明: HashMap 使用 HashMap(int initialCapacity) 初始化,
正例: initialCapacity = (需要存储的元素个数 / 负载因子) + 1。注意负载因子(即loader
factor)默认为 0.75, 如果暂时无法确定初始值大小,请设置为 16(即默认值)。
反例: HashMap 需要放置 1024 个元素,由于没有设置容量初始大小,随着元素不断增加,容
量 7 次被迫扩大, resize 需要重建 hash 表,严重影响性能。

技术图片

 

以上是关于集合初始化时,指定集合初始值大小。的主要内容,如果未能解决你的问题,请参考以下文章

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

为什么阿里巴巴建议集合初始化时,指定集合容量大小?

ArrayList扩容源码分析

Java中HashMap的初始容量设置

[集合框架][Map]HashTable

各种集合对象初始创建默认大小