hashCode与equals的关系!!!

这篇文章解释了hashCode在散列表中的重要作用,为何重写equals时要同时重写hashCode,以及它如何确保对象在散列集合中的正确定位。了解哈希码在查找效率中的核心作用,以及为何不适用于其他场景下两者之间的独立性。
摘要由CSDN通过智能技术生成

hashCode与equals

为什么重写 equals 时必须重写 hashCode 方法?

  1. hashCode:
  • 作用:获取哈希码,也成为散列码;实际上就是一个int类型的整数。哈希码的作用也就是确定这个对象在散列表中索引的位置。hashCode这个方法存在于Object类中,所以任何类都包含了hashCode这个函数。
  1. 为什么要有hashCode?
  • 上面说了hashCode就是确定其在散列表中的位置,例如一个类重写了hashCode方法存储于散列表中,就可以根据这个hash值来快速索引到对象在散列表的位置。hashCode相等不一定对象相等。散列表指的有:Set,Map,HashTable…
  1. 所以综上所述,如果不是用于散列表中,重写equals于重写hashCode关系毫无关系。但是运用于散列表中就要重写hashCode方法!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值