Comparable和Comparator

2018-01-19  本文已影响0人  阳光丶不错

如果想使用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;
    }
}
上一篇 下一篇

猜你喜欢

热点阅读