黑马程序员技术交流社区

标题: Set集合 [打印本页]

作者: wangzhuo    时间: 2015-9-22 00:08
标题: Set集合
Set集合是怎么实现不存储重复元素的
作者: 芝麻糊    时间: 2015-9-22 09:39
HashSet 通过hashCode和equals来完成。

如果元素的hashCode值相同,才会判断equals是否为true。
如果元素的hashcode值不同,不会调用equals。

如果hashCode值相同equals返回true则认为是重复元素,不存储
作者: 芝麻糊    时间: 2015-9-22 09:41
TreeSet中元素需要实现Comparable接口,覆盖compareTo方法或者
定义一个类实现Comparator接口,覆盖compare方法

compareTo或compare方法return 0是TreeSet认为是重复元素,不存储
作者: 水果牛牛    时间: 2015-9-22 09:58
上面两位都已经说了
作者: 劲爆对策    时间: 2015-9-22 18:06
Set集合分为HashSet和TreeSet。前者是通过Object类的hashCode()和equals()方法。后者实现唯一和排序有两种方法,一是自然排序,而是自定义排序。
作者: pengwei1989    时间: 2015-9-22 18:57
我是来看答案的。。。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2