黑马程序员技术交流社区
标题:
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