文章详情页
Java中HashMap的初始容量设置方式
浏览:71日期:2022-08-10 11:09:13
Java中HashMap的初始容量设置
根据阿里巴巴Java开发手册上建议HashMap初始化时设置已知的大小,如果不超过16个,那么设置成默认大小16:
集合初始化时, 指定集合初始值大小。
说明:
HashMap使用HashMap(int initialCapacity)初始化
正例:
initialCapacity = (需要存储的元素个数 / 负载因子) + 1。注意负载因子(即loader factor)默认为0.75, 如果暂时无法确定初始值大小,请设置为16(即默认值)。
反例:
HashMap需要放置1024个元素,由于没有设置容量初始大小,随着元素不断增加,容量7次被迫扩大,resize需要重建hash表,严重影响性能。
而对于为什么负载因子是0.75,答案可以在《数据结构与算法分析 Java语言描述》的散列章节中找到
Java HashMap的指定初始值大小和自动扩容HashMap指定初始值大小指定初始值大小应为2的幂。
如果指定的初始值不是2的幂,则HashMap的容量为大于指定初始值的2的幂;如果不指定,容量默认为16。
HashMap自动扩容当HashMap的键值对个数大于容量的75%时,HashMap的容量扩大一倍。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持好吧啦网。
标签:
Java
相关文章:
1. python GUI库图形界面开发之PyQt5中QWebEngineView内嵌网页与Python的数据交互传参详细方法实例2. docker /var/lib/docker/aufs/mnt 目录清理方法3. Vuex localStorage的具体使用4. python+excel接口自动化获取token并作为请求参数进行传参操作5. 《CSS3实战》笔记--渐变设计(三)6. Notepad++如何安装Python插件?Notepad++插件怎么装?7. ASP.NET泛型三之使用协变和逆变实现类型转换8. Python matplotlib画图时图例说明(legend)放到图像外侧详解9. 6个常见的 PHP 安全性攻击实例和阻止方法10. 使用Android studio查看Kotlin的字节码教程
排行榜

网公网安备