A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© suiyanxin 中级黑马   /  2016-4-9 23:44  /  412 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

hashCode()和equals()方法

1 个回复

倒序浏览
保证元素唯一性 需要让元素重写两个方法 一个是 hashCode() 另一个是 equals()
HashSet在存储元素的过程中 首先会去调用元素的hashCode()值,看其哈希值与已经存入HashSet的元素的哈希值是否相同
如果不同 :就直接添加到集合
如果相同 :则继续调用元素的equals() 和哈希值相同的这些元素依次去比较
如果说有返回true的   那就重复 不添加
如果说比较结果都说false  那就是不重复 就添加

为了减少equals的比较次数提高效率 一般情况 让属性不同的对象尽量hashCode()值不同
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马