独自クラスが入ったListをソートする方法

ハックでもしばしば取り上げられるソートですが、Collectionsクラスのsortメソッドは独自クラスが入ったListをソートするときにも利用できます。

例えば、idを属性としてもつ独自クラスEntityが入ったListをソートする場合を考えます。昇順の場合、以下のようなクラスを作る必要があります。(降順の場合はo1とo2を逆にします)

public class EntityComparator implements java.util.Comparator{
    public int compare(Object o1, Object o2) {
        return ((Entity)o1).id - ((Entity)o2).id;
    }
}

 以下の処理を実行することによって実際にソートが行われます。

Collections.sort(list,new EntityComparator());