comparator使用案例

import java.util.TreeSet;
import java.util.Iterator;
import java.util.Scanner;
class st implements Comparable<Object>{
    public int id,c,d;
    public st(int id,int c,int d)
    {
        this.id=id;
        this.c=c;
        this.d=d;
    }
    @Override
    public String toString() {
        return ""+id+" "+c+" "+d;
    }
    @Override
    public int compareTo(Object o) {
        st s1=(st)o;
        st s2=(st)this;
        if(s1.c+s1.d!=s2.c+s2.d)
        {
            return (s1.c+s1.d)-(s2.c+s2.d);
        }
        else if(s1.d!=s2.d)
            return s2.d-s1.d;
        return s2.id-s1.id;
    }
}

使用Comparble接口可以使該類可以被放入TreeSet,可以進行排序,這個接口用以對類對象排序時使用,可以自定義複雜排序規則,如多關鍵字排序等。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章