Stream内でソート

Stream内でソートをする際の備忘録。

public static class MyClass {
    public int score;
    public MyClass(int score) {
        this.score = score;
    }
}

public static void main(String[] args) {
    List<MyClass> list = new ArrayList<>();
    list.add(new MyClass(1));
    list.add(new MyClass(5));
    list.add(new MyClass(3));
    list.add(new MyClass(2));
    list.add(new MyClass(4));

    // 昇順にソート
    list = list.stream().sorted(Comparator.comparing(o -> o.score))
            .collect(Collectors.toList());
    // -> 1, 2, 3, 4, 5

    // 降順にソート
    list = list.stream().sorted(Comparator.comparing(o -> o.score, Comparator.reverseOrder()))
            .collect(Collectors.toList());
    // -> 5, 4, 3, 2, 1
}