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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

如题,今天看视频,貌似老师没有讲到

8 个回复

倒序浏览
Set集合底层其实使用的是Map集合,在API文档中你能找到,覆写hashcode和equals方法
然后实现comparable和comparator接口,实现compareTo和compare方法进行自然排序

毕老师的视频我今天刚看到
回复 使用道具 举报
HashSet集合添加对象时,一定会要用到hascode()方法去判断哈希值是否相同,若哈希值不相同则肯定不是重复元素,
  如果相同,再用equals()方法进一步判断元素是否重复
而treeSet,它是comparablej接口的无参构造,和比较器comparator带参构造实现,具体查查api哈
回复 使用道具 举报 1 0
hashCode和equals两个方法把
回复 使用道具 举报
不管是hashset 还是treeset都是调用add()添加元素时,由于add()代码的差异造成差异,hashset中的add()本质在自定义对象中是重写hashcode()和重写equals方法;而Treeset中的add()方法本质在于实现comparable和comparator接口,实现接口的中的compare()方法,compare()返回值是int,int的正负及零决定元素的存储顺序以及出去重复元素。
回复 使用道具 举报
duzhi409 发表于 2015-4-25 00:11
Set集合底层其实使用的是Map集合,在API文档中你能找到,覆写hashcode和equals方法
然后实现comparable和co ...

好的谢谢 今天我重新复习了
回复 使用道具 举报
showdy 发表于 2015-4-25 00:47
不管是hashset 还是treeset都是调用add()添加元素时,由于add()代码的差异造成差异,hashset中的add( ...

谢谢,理解啦
回复 使用道具 举报
showdy 发表于 2015-4-25 00:47
不管是hashset 还是treeset都是调用add()添加元素时,由于add()代码的差异造成差异,hashset中的add( ...

简单粗暴的答案
回复 使用道具 举报
理解了                       !
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马