黑马程序员技术交流社区
标题:
分享HashSet如何判断集合中元素是否重复
[打印本页]
作者:
地瓜君
时间:
2014-11-26 19:47
标题:
分享HashSet如何判断集合中元素是否重复
第一件事
做的是判断两个元素的哈希值是否相同,如果相同,代表这两个元素
可能是同一个元素.去执行第二件事。如果两个对象的哈希值不同,
HashSet集合认为这两个对象是不同的对象,不用判断equals,直接添加。
第二件事
在去进行equals比较。如果equals也返回true,
那么hashSet认为这两个元素重复,不可添加第二元素.
是否重复的元素的一个初始条件,两个对象如果hashCode一样,那么才可以判断是否
重复,通过equals方法判断。
如果两个对象hashCode不一样,就认为这两个对象是不同的对象,不会判断equals
如果在hashCode方法中返回一个常量,但是效率下降,每一次操作都需要进行equals比较.所以为了提高效率,我们在重写hashCode时利用对象的属性获得hashCode
作者:
wxnzb502
时间:
2014-11-26 20:53
说的不错
作者:
与梦逆风而行
时间:
2014-11-26 20:55
前来学习~
作者:
Tae丶Yeon
时间:
2014-11-26 23:58
前来学习~
作者:
随风sky
时间:
2014-11-27 00:06
支持一下,继续努力!
作者:
地瓜君
时间:
2014-11-27 20:20
随风sky 发表于 2014-11-27 00:06
支持一下,继续努力!
谢谢啊,互帮互助
作者:
地瓜君
时间:
2014-11-27 20:21
Tae丶Yeon 发表于 2014-11-26 23:58
前来学习~
恩恩。谢啦哈 互相学习哦
作者:
chen_32768
时间:
2014-11-27 21:38
重写hashCode和equals方法:),学习了
作者:
xingkong123
时间:
2014-11-27 22:38
前来学习。。。。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2