黑马程序员技术交流社区

标题: hashCode()和equals()方法 [打印本页]

作者: suiyanxin    时间: 2016-4-9 23:44
标题: hashCode()和equals()方法
hashCode()和equals()方法
作者: 叶小伞    时间: 2016-4-10 00:06
保证元素唯一性 需要让元素重写两个方法 一个是 hashCode() 另一个是 equals()
HashSet在存储元素的过程中 首先会去调用元素的hashCode()值,看其哈希值与已经存入HashSet的元素的哈希值是否相同
如果不同 :就直接添加到集合
如果相同 :则继续调用元素的equals() 和哈希值相同的这些元素依次去比较
如果说有返回true的   那就重复 不添加
如果说比较结果都说false  那就是不重复 就添加

为了减少equals的比较次数提高效率 一般情况 让属性不同的对象尽量hashCode()值不同




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