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
}