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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© wangzhuo 中级黑马   /  2015-9-22 00:08  /  525 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Set集合是怎么实现不存储重复元素的

5 个回复

倒序浏览
HashSet 通过hashCode和equals来完成。

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

如果hashCode值相同equals返回true则认为是重复元素,不存储
回复 使用道具 举报
TreeSet中元素需要实现Comparable接口,覆盖compareTo方法或者
定义一个类实现Comparator接口,覆盖compare方法

compareTo或compare方法return 0是TreeSet认为是重复元素,不存储
回复 使用道具 举报
上面两位都已经说了
回复 使用道具 举报
Set集合分为HashSet和TreeSet。前者是通过Object类的hashCode()和equals()方法。后者实现唯一和排序有两种方法,一是自然排序,而是自定义排序。
回复 使用道具 举报
我是来看答案的。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马