hashCode理解

hashCode理解

老师那在什么情况下两个对象的hash Code值相同等,对象不相等,举个例子

正在回答

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

3回答

同学你好,同一个类对象的实例它们的HashCode值不一定是相等的。

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

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

同学如果有兴趣可以去深入学习一下。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

好帮手慕小班 2020-07-31 15:05:05

同学你好,同学可以理解为如下这种情况,比如:

http://img1.sycdn.imooc.com//climg/5f23c24d093e9f7005020224.jpg

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 提问者 进阶的java心声 #1
    也就是说同一个类对象的实例它们的HashCode值一定是相等的吗
    2020-07-31 19:27:14
好帮手慕小班 2020-07-31 12:08:48

同学你好,1、调用hashCode()方法得到hash code值,通过这个值可以找到数据存储位置,该位置可以理解成一片区域,在该区域存储的数据的hashCode值都是相等的,比如:如下是三个hashCode值所代表的区域

http://img1.sycdn.imooc.com//climg/5f23985d09bf5dd213520584.jpg

如上在编号为0的桶中的对象,就是hash Code值相同等,对象不相等的现象。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 提问者 进阶的java心声 #1
    能用代码举个例子吗,想不出来具体代码例子
    2020-07-31 12:46:35
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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