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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© luoyu1530 中级黑马   /  2015-4-1 22:24  /  775 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

题目没写错吧,Comparale是接口,如果使用TreeMap需要实现这个接口,然后重写CompareTo方法,就可以实现自然排序,

然后上课的时候有教匿名内部类实现比较。但是实现的却是Comparator接口,使用的是compare方法

这两个接口有什么区别吗?要在什么时候使用,很容易搞混。新人发帖,不懂勿怪

3 个回复

倒序浏览
看到这一块有点糊涂
回复 使用道具 举报
只要实现了Comparale这个借口的都可以调用CompareTo这个方法,我记得这些方法好像是TreeSet中的吧,这两种方式都是实现排序的,用哪种都可以的,但是第一种是让元素自身具备比较性,第二种是当元数不具备比较性时可以使用Cmoparator,这是我的理解哈!!!
回复 使用道具 举报
Comparable接口是要存进集合的元素来实现的接口,实现这个接口后,TreeMap才能根据compareTo方法来进行元素的有序存储,而实现了Comparator接口的类称为比较器,在TreeMap的构造函数中传入一个比较器实例对象作为参数,依据的是比较器实例对象的compare方法,实现TreeMap对元素的有序存储。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马