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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 熊曼 中级黑马   /  2015-3-23 15:49  /  1402 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

class Student implements Comparable
{
...
public int compareTo(Object obj)
{}
...
}

class MyCompare implements Comparator
{
}
这里面的 Comparable 、compareTo 、 Comparator如何区别?

6 个回复

正序浏览
Comparable使类具备可比较性,compareTo是用来指定对象的排序方式,Comparator可以看做一个比较器。他们可以应用在对于TreeSet集合的排序之中
回复 使用道具 举报
Comparable<T>此接口强行对实现它的每个类的对象进行整体排序。覆盖compareTo方法。
Comparator<T>强行对某个对象 collection 进行整体排序 的比较函数。覆盖compare方法,equels方法。
实现Comparable接口需要在类的内部覆盖compaTo方法,实现Comparator接口是在类的外部重新定义一个类。
相比较来说,Comparator更灵活,推荐使用这个方法。
回复 使用道具 举报
向二楼学习
回复 使用道具 举报
进来看看
回复 使用道具 举报
学习了     
回复 使用道具 举报
Comparable是使元素具备比较性,compareTo是Comparable的方法,Comparator是使集合具备比较性,当这两种情况都存在时,首先选择后者
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马