黑马程序员技术交流社区
标题:
HashSet怎么判断元素的唯一性的??
[打印本页]
作者:
Ssafe
时间:
2016-9-5 18:03
标题:
HashSet怎么判断元素的唯一性的??
HashSet集合中怎么判断元素的唯一性的啊,为什么List集合就不可呢?
作者:
a825125501
时间:
2016-9-5 18:25
HashSet集合底层是Hash算法和equals方法去判断元素的唯一性的,先判断Hashcode值,如果相同再判断equals方法
作者:
恰如虬龙潜深渊
时间:
2016-9-5 18:32
HashSet属于set集合.set和list同阶,父类都是collection集合,set是元素存取不可重复.如果List集合跟set一样,就没有存在的必要了,不同的集合功能不一样,就这样
作者:
恰如虬龙潜深渊
时间:
2016-9-5 18:33
至于HashSet集合怎么判断元素唯一,楼上已经说过了,如果要知道原理,建议配合视频看底层代码
作者:
不灬语
时间:
2016-9-5 19:56
楼上的说得对,HashSet底层是Hash算法和equals方法去判断元素的唯一性的,先判断Hashcode值,如果相同再判断equals方法. 而hashcode的是为了减少调用equals方法的次数的,当要add一个数进集合的时候,它会先判断集合中有没有hashcode和它一样的数,如果hashcode和它一样再调用equals方法比较,如果相同返回true,不添加,如果是false则把该数添加到集合,从而实现了Hashset的唯一性
作者:
小胖妞
时间:
2016-9-5 21:22
hash方法和equals方法
作者:
HARRY_yFd0S
时间:
2016-9-5 21:29
每加入一个新的元素,都会调用它本身的hashcode方法和equals方法来和已存在的元素进行比较,如果两个方法都返回值都是true,则“认为”是同一个元素,就不会被存入到集合中。
作者:
dreamwork
时间:
2016-9-5 22:20
hashcode和equals方法
作者:
许华洋
时间:
2016-9-5 23:07
赞!!!!!!!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2