黑马程序员技术交流社区

标题: HashSet集合如何保证元素唯一性?哈希值相同equals一定相同吗? [打印本页]

作者: suncool    时间: 2016-8-4 23:15
标题: HashSet集合如何保证元素唯一性?哈希值相同equals一定相同吗?
为什么?最好有例子
作者: jiajun    时间: 2016-8-4 23:22
先比较哈希值,如果哈希值相同,再比较equals,如果equals也相同,才是重复元素,否则相同哈希值的元素会散列在同一个哈希值下
作者: jiajun    时间: 2016-8-4 23:23
hash值是覆写hashcode方法,equals也要重新按需求覆写
作者: suncool    时间: 2016-8-4 23:39
jiajun 发表于 2016-8-4 23:23
hash值是覆写hashcode方法,equals也要重新按需求覆写

tostring复写?还是不太懂
作者: jiajun    时间: 2016-8-4 23:46
suncool 发表于 2016-8-4 23:39
tostring复写?还是不太懂

HashSet的元素一般都会按自己的需求覆写父类中的,一般是Object类中的hashCode()和equals()方法,所以判断元素唯一性的方法是你自己指定的




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