黑马程序员技术交流社区

标题: 学习集合的时候遇到关于比较的一些困惑 [打印本页]

作者: 熊曼    时间: 2015-3-23 15:49
标题: 学习集合的时候遇到关于比较的一些困惑
class Student implements Comparable
{
...
public int compareTo(Object obj)
{}
...
}

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

作者: 殷俊    时间: 2015-3-23 16:55
Comparable是使元素具备比较性,compareTo是Comparable的方法,Comparator是使集合具备比较性,当这两种情况都存在时,首先选择后者
作者: lmjssjj    时间: 2015-3-23 23:11
学习了     
作者: 胡谭龙    时间: 2015-3-24 16:19
进来看看

作者: longlongint    时间: 2015-3-24 17:27
向二楼学习
作者: 柴达木    时间: 2015-3-24 21:18
Comparable<T>此接口强行对实现它的每个类的对象进行整体排序。覆盖compareTo方法。
Comparator<T>强行对某个对象 collection 进行整体排序 的比较函数。覆盖compare方法,equels方法。
实现Comparable接口需要在类的内部覆盖compaTo方法,实现Comparator接口是在类的外部重新定义一个类。
相比较来说,Comparator更灵活,推荐使用这个方法。
作者: 温大帅    时间: 2015-3-25 21:39
Comparable使类具备可比较性,compareTo是用来指定对象的排序方式,Comparator可以看做一个比较器。他们可以应用在对于TreeSet集合的排序之中




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2