黑马程序员技术交流社区
标题:
HashSet调用hashCode()的问题求指导
[打印本页]
作者:
夏萱
时间:
2016-7-17 00:00
标题:
HashSet调用hashCode()的问题求指导
本帖最后由 夏萱 于 2016-7-17 00:03 编辑
书上说HashSet查重的方法是调用对象的hashCode(),
hashCode是表示存储位置吗?
一定要存在同一个位置才能知道重复吗?
还是所有类都重写了这个方法?
查重为什么先调用hashCode(),再调用equals(),equals不也是比较hashcode吗?
作者:
jmf332376308
时间:
2016-7-17 00:15
不是的,hashCode()是比较数值是否相同,如果数值相同就需要比较地址值是否相同,equals 是比较两个数值的地址值是否相同。hashCode和equals 是不相同的
作者:
夏萱
时间:
2016-7-17 00:34
jmf332376308 发表于 2016-7-17 00:15
不是的,hashCode()是比较数值是否相同,如果数值相同就需要比较地址值是否相同,equals 是比较两个数值的 ...
谢谢,我再理解一下hashcode,被绕的好晕
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2