黑马程序员技术交流社区

标题: hashCode方法的作用 [打印本页]

作者: storer    时间: 2015-6-10 21:46
标题: hashCode方法的作用
一只没有搞清楚这怎么用这个和eqauls都不是很了解
作者: forTomorrow    时间: 2015-6-11 10:33
有些集合的底层数据结构是哈希表结构的,比方说HashSet,,HashMap,他们在进行数据唯一行存储的时候,要先算出这个对象元素的哈希值hashCode(),如果哈希值相同再调用对象的equals()进行具体内容的比较,你在对象所在类上定义这两个方法,就可以按照你自己的意愿进行唯一性对象的存储
作者: micro_hx    时间: 2015-6-11 11:12
hashcode通过计算类的属性来计算hashCode值,如果这个hashcode不存在,就说明这个对象是一个new的对象,如果存在,比如100=2+98 =50+50,就是我们存在相同的hashCode时,也可能是有不同的对象产生的,因此必须自定义自己的equals方法,来判定该类的对象是否存在集合中。。。。
作者: micro_hx    时间: 2015-6-11 11:15
当然如果你需要的话,我可以给你讲一下类属性对应的hashcode的方式。。。。
作者: 黄智    时间: 2015-6-11 11:17
eqauls比较的是两个字符串是否相等,而hashCode比较的是它们的哈希编码是否相等。




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