对hashcode的理解

对hashcode的理解

如果我在自定义类中重写hashcode则我创建的每个自定义类对象的hashcode都相同吗?

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,同一个类的实例它们的HashCode值不一定是相等的。但是在同一区域中存储的数据hashCode值是相等的

如果重写的hashCode是一个固定值  那么他的所有实例化对象全部相等 但是一般不这样重写

Hash,也可以叫做“散列”,可以理解为就是把任意长度的输入/内容值,通过散列算法,变换成固定长度的输出,该输出就是散列值。这里可以理解为Hash算法。

通过Hash算法得到的hashCode, 对象相等则hashCode一定相等;hashCode相等对象未必相等。 

祝学习愉快


  • 能掐会算 提问者 #1
    也就是通过hashcode先将查询范围缩小是吗?
    2020-08-08 19:43:11
能掐会算 提问者 2020-08-08 17:33:16

hashcode可以理解成非聚集索引那样嘛?两个对象的内存地址可以相隔很远,但是他们在逻辑上是属于同一个地址下的

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星

相似问题

登录后可查看更多问答,登录/注册

请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师