黑马程序员技术交流社区
标题:
怎么判断新元素与已存在的元素是否相同
[打印本页]
作者:
爱你一万年
时间:
2016-8-20 09:38
标题:
怎么判断新元素与已存在的元素是否相同
Set集合中HashSet子类是元素无序,唯一性的,判断唯一性就是用hashCode值,那么Objcet的hashCode方法与该类的hashCode方法有什么区别
作者:
阿卜
时间:
2016-8-20 11:40
HashSet里的hashCode()方法返回该Set中元素的哈希码的总和。Object中的hashCode()方法返回该对象的哈希码。不过HashSet判断元素唯一性并不是用本类的hashCode()方法,而是使用的作为元素存入的对象的hashCode()和equals()方法。
作者:
wyq0627java11
时间:
2016-8-20 12:35
来看看答案
作者:
li--yong
时间:
2016-8-20 22:05
加油,一起努力
作者:
NewsmallWhite
时间:
2016-8-21 12:25
底层依赖HashCode()与equals()
首先比较哈希值
如果相同,继续走,比较地址值或者走equals()方法
如果不同,就直接添加元素
简单的说就是:
先hashCode()值是否相同
相同::继续走equals()方法
返回true:说明元素重复,就不添加
返回false:说明元素不重复,就添加
不同,就直接添加元素
作者:
zztierlie
时间:
2016-8-21 16:20
赞一个,赞一个,么么哒
作者:
zztierlie
时间:
2016-8-21 16:21
赞一个,赞一个,么么哒
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2