NO プログラム NO LIFE

ayanamiの備忘録

[Java]リストソート

listの要素がjava.lang.Comparableを実装している場合。

1
Collections.sort(list);

listの要素が以下の様なメンバを持つオブジェクトである場合。 面倒なので、getter、setterは省略。

1
2
3
4
public class Hoge {
    private int foo;
    private String bar;
}

barの昇順でソート。java.util.Comparator実装クラスが必要になる。 まずは、実装クラスを作って・・・

1
2
3
4
5
public class Fuga implements Comparator<Hoge> {
    public int compare(Hoge o1, Hoge o2) {
        return o1.getBar.compareTo(o2.getBar);
    }
}

比較処理を実行。

1
Collections.sort(list, new Fuga());

ちなみに、Objective-Cではこんな感じ