java HashSet的实现

HashSet里面是依赖一个HashMap,



Hashset储存的值作为HashMap里面的键来存储,通过map返回的值和null比较从而判读是否添加元素成功,

如果有相应的键map返回之前的值,否则返回null。


map的put方法调用这个


这里的putVal就传了key的hashCode进来,后面传了一个false和true,false代表当存在相同的键时覆盖旧值,后面的不太清楚

原文这样 if false, the table is in creation mode.

putVal后面是这样的


在这里我注意到红色的地方先比较了我们传进来的hashCode值,如果相等后面

调用了key的equals()进行比较了,

就这些吧,错的地方还请大家不吝指教。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值