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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 兜兜转转 中级黑马   /  2013-8-22 11:22  /  1289 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

我知道,Set集合的TreeSet中的元素如果不具备比较性,要让元素实现Comparable接口,并且实现compareTo()方法,或则让TreeSet集合本身具备一个比较器,即编写一个比较器,实现Comparator接口,并实现其方法compare()方法,将比较器作为参数传递给集合,那么Map集合中的TreeMap中的也要这样做是吧?  

然后HashMap中存入的元素本身也要去覆盖equals()方法和hashCode()方法去保证唯一性吗?

应该是吧,忘记了,那位大哥帮忙double 确认一下

评分

参与人数 1技术分 +1 收起 理由
神之梦 + 1

查看全部评分

1 个回复

倒序浏览
是的,TreeSet和TreeMap集合的排序实现方式都一样的.有两种,1,是对象本身实现Comparable接口,然后复写compareTo(Object obj)方法;2,是构造集合时传入一个实现Comparato接口的对象并复写compare(Object o1,Object o2).

HashMap存入的元素师随机的,HashSet也是一样,HashSet中的值其实就是HashMap中的key,其底层依然是依靠equals()和hashCode()来判断是否为相同元素.
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马