如果想使用Comparable进行比较,则需要被比较的类一定要实现Comparable接口.
如果想使用Comparator进行比较,则需要被比较的类不用实现Comparator或者Comparable中的任何一个,只需要新建一个类实现Comparator接口,作为被比较的类的"比较器"(一个工具),然后该比较器可以对任意两个被比较类进行比较.
eg:
class Comparabler implements Comparable {
public int num;
Comparabler(int num) {
this.num = num;
}
@Override
public int compareTo(T1 o) {
return num - o.num;
}
}
class TObject {
public int num;
TObject(int num) {
this.num = num;
}
}
class TOComparator implements Comparator {
@Override
public int compare(TObject o1, TObject o2) {
return o1.num - o2.num;
}
}