浅析哈希源码

系列文章目录

数据结构之哈希表_crazy_xieyi的博客-CSDN博客

数据结构之Map&Set_crazy_xieyi的博客-CSDN博客


解析源码之前的几个疑问?
1.HashMap在什么时候开辟的内存?
2.不带参数的构造方法,默认哈希表的数组大小是多少?
3. HashMap<String,Integer> map = new HashMap<>(19);此时分配的内存是多少?
4.一般地,哈希表示数组+链表的方法进行存储,在满足什么条件的时候链表会变成树?
5.当HashMap扩容的时候需要注意什么?
6.hashcode与equals的区别?


下面就看看源码:

625b9731bf4c431f81e94b1dcbda1d03.png


 8c48d213d5af4ecaa0d908554504769b.png

75a4cd89ec3548d09f5a9251335c2294.png

7e03058b865444229dd7412bb1195587.png

aa878f9148264a95803fa522e7393512.png 当看完以上的源码,我想1-4的问题就已经解决了。那么当HashMap扩容的时候需要注意什么?这个时候,每一个元素都要进行重新哈希。hashcode与equals有什么区别?两个对象的hashcode相同,equals不一定相同;两个对象的equals相同,hashcode一定相同。

 

 

  • 38
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 28
    评论
评论 28
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

crazy_xieyi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值