
HashMap默认大小和扩容后的大小
发布日期:2021-05-06 16:25:39
浏览次数:35
分类:原创文章
本文共 363 字,大约阅读时间需要 1 分钟。
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的性能。
默认大小16
加载因子 0.75
发表评论
最新留言
留言是一种美德,欢迎回访!
[***.207.175.100]2025年04月04日 18时14分10秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
运营商的互联网蜕变,从沃云平台开始
2019-03-04
下一次 IT 变革:边缘计算(Edge computing)
2019-03-04
Gartner的预言:通向混合IT之旅
2019-03-04
Docker精华问答 | task与executor有什么关系?
2019-03-04
英特尔强势上新一大波数据产品,小伙伴们“奔走相告”…… | 极客头条
2019-03-04
成为最大的独立开源公司,对SUSE意味着什么? | 人物志
2019-03-04
2019年关于VM和Kubernetes的思考 | 技术头条
2019-03-04
Elastic全球用户大会Elastic{ON}首次落地北京
2019-03-04
红帽:将开源进行到底
2019-03-04
SaaS前世今生:老树开新花
2019-03-04
Hadoop精华问答 | Hadoop框架中最核心的设计是什么?
2019-03-04
Docker,一个傲娇的男人
2019-03-04
微信小程序生命周期 / 页面的生命周期 / 页面的用户行为
2019-03-04
如何完美解答面试问题——深拷贝和浅拷贝的区别
2019-03-04
用C语言散列表实现电话薄
2019-03-04
回文判断
2019-03-04
微信小程序云开发手机商城项目源码+数据库+云后台+部署 (毕业生福利!)
2019-03-04
Maven的配置
2019-03-04
如何在bilibili上下载学习视频?
2019-03-04
Python爬虫利器之Beautiful Soup的全世界最强用法 五百行文章!
2019-03-04