黑马程序员技术交流社区

标题: 大神通俗讲下哈希值与对象内存地址值 [打印本页]

作者: dreamseekerkun    时间: 2014-8-11 13:36
标题: 大神通俗讲下哈希值与对象内存地址值
如题,刚看到集合这块,感觉有些散乱知识点。
这个哈希值与对象内存地址值什么关系?
不同对象哈希值也可以相同?
不是清楚,大神解答下

作者: lspooooo    时间: 2014-8-11 13:42
hashcode()函数返回的就是哈希值,一般都要在类中重写hashcode()与equals()方法
作者: dreamseekerkun    时间: 2014-8-11 14:54
lspooooo 发表于 2014-8-11 13:42
hashcode()函数返回的就是哈希值,一般都要在类中重写hashcode()与equals()方法

我知道,你看我问的问题
作者: ﹑淼    时间: 2014-8-11 15:00
地址与哈希值相当于姓名与学号的关系。物理地址是不能给你的,如果地址让你改了,该地址正好是系统进程怎么办。所以有了哈希值。
作者: jackhai9    时间: 2014-8-11 15:39
哈希值是通过哈希算法对内存地址值进行计算得到的一个整数值,可以理解为一个数字标识。
不同对象的哈希值是有可能相同的。

作者: dreamseekerkun    时间: 2014-8-11 20:52
jackhai9 发表于 2014-8-11 15:39
哈希值是通过哈希算法对内存地址值进行计算得到的一个整数值,可以理解为一个数字标识。
不同对象的哈希值 ...

OK谢谢。哈希算法,不同对象哈希值有可能是不同的
作者: dreamseekerkun    时间: 2014-8-11 20:54
﹑淼 发表于 2014-8-11 15:00
地址与哈希值相当于姓名与学号的关系。物理地址是不能给你的,如果地址让你改了,该地址正好是系统进程怎么 ...

谢谢解答。加深理解。
作者: 酋长第一    时间: 2014-8-11 21:05
给你举个例子吧
一个大楼是一个地址(对象),在地球的北纬多少多少
但大楼有它的门牌号(哈希值),有一天门牌号可以变,但大楼在地球上的位置是不变的
作者: 李俊贤    时间: 2014-9-25 16:21
哈希值只是针对对象才有的吗?
作者: Anfinsenh    时间: 2015-4-19 22:41
jackhai9 发表于 2014-8-11 15:39
哈希值是通过哈希算法对内存地址值进行计算得到的一个整数值,可以理解为一个数字标识。
不同对象的哈希值 ...

这是哪的图?
collection.set.See@7f39ebdb代表的是哈希值,地址,?
什么又是引用型变量?
作者: Ci功    时间: 2015-7-27 15:08
我也不懂




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2