java学习第42天,hashMap

1,hashMap 在存数据的时候,会先获取key 通过Object 类 的 hashCode算法获取code 值 是一个整数 然后看这个整数对应的地址的 key 作equals比较是否返回 true 

如果返回 true 的话 就替换这个位置的数据 如果返回 false 的话 就添加进去

2,如果多个key value 对 计算之后的 hashCode 都一样 但是 做 equals 比较返回的是fasle 那么 这些元素是按照数组的结构存到这个code 对应的地址 

3,如果hashCode都不一样的话 查找 hashMap 里面元素的时候 一次就可以找到了 如果都相同的话 最多要找 n 次 

4,在重写 类的 equals 方法的时候 应该把 hashCode 方法也重写 要求不论 equals 比较是否返回true hashCode 都最好不相同 否则会影响hashMap 的性能

5,map 通过 T get(key); 获取元素

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值