HashMap几个重要概念

博客介绍了Java中HashMap的数据结构,它是平面网格结构,用数组存格子,格子里是链表。还说明了其默认长度为16,扩展因子0.75,首次扩展阈值12,每次扩张为之前一倍。同时提及JDK1.7和1.8中HashMap的不同实现,1.8链表元素超8个会用红黑树。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.HashMap的数据结构是平面网格结构,用数组存放格子,格子里面是一个链表。计算key的hashcode然后&上map当前长度,把key映射到格子里面。

2.HashMap默认长度是16,扩展因子是0.75,首次扩展阈值为12。每次扩张为之前的一倍。oldLength<<1

3.JDK1.7里面的HashMap使用的是Entry数组作为表格+表格内的链表。

4.JDK1.8里面的HashMap使用的是Node数组作为表格+表格内部的链表/红黑树。如果链表中的元素超过8个,使用红黑树。

bad6c5b20e58e71c7adb10a657583faf66f.jpg

49b445c0037ac5d812f2f161af46db21671.jpg

转载于:https://my.oschina.net/u/1458864/blog/3025198

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值