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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 地瓜君 中级黑马   /  2014-11-26 19:47  /  1600 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文



第一件事
做的是判断两个元素的哈希值是否相同,如果相同,代表这两个元素
可能是同一个元素.去执行第二件事。如果两个对象的哈希值不同,
HashSet集合认为这两个对象是不同的对象,不用判断equals,直接添加。
第二件事
在去进行equals比较。如果equals也返回true,
那么hashSet认为这两个元素重复,不可添加第二元素.        
是否重复的元素的一个初始条件,两个对象如果hashCode一样,那么才可以判断是否
重复,通过equals方法判断。
如果两个对象hashCode不一样,就认为这两个对象是不同的对象,不会判断equals
如果在hashCode方法中返回一个常量,但是效率下降,每一次操作都需要进行equals比较.所以为了提高效率,我们在重写hashCode时利用对象的属性获得hashCode



评分

参与人数 2技术分 +1 黑马币 +4 收起 理由
迷失的小Z + 4 神马都是浮云
sk0806 + 1 很给力!

查看全部评分

8 个回复

倒序浏览
说的不错         
回复 使用道具 举报
前来学习~
回复 使用道具 举报
前来学习~
回复 使用道具 举报
支持一下,继续努力!
回复 使用道具 举报
随风sky 发表于 2014-11-27 00:06
支持一下,继续努力!

谢谢啊,互帮互助
回复 使用道具 举报

恩恩。谢啦哈 互相学习哦
回复 使用道具 举报
重写hashCode和equals方法:),学习了
回复 使用道具 举报
前来学习。。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马