リストのソート方法

Javaでリストの特定のフィールドでソートを行う書き方の備忘録。
valueフィールドはComparableを実装しているものとする。

昇順にソートする場合

itemList.sort((item1, item2) -> item1.value.compareTo(item2.value));
itemList.sort(Comparator.comparing(item -> item.value));
// Collections.sort は List.sort に置換できますとクイックフィックスが表示される
Collections.sort(itemList, Comparator.comparing(item -> item.value));

降順にソートする場合

itemList.sort((item1, item2) -> item2.value.compareTo(item1.value));
itemList.sort(Comparator.comparing(item -> item.value, Comparator.reverseOrder()));
// Collections.sort は List.sort に置換できますとクイックフィックスが表示される
Collections.sort(itemList, Comparator.comparing(item -> item.value, Comparator.reverseOrder()));