#はじめに
本記事ではJava 8 以降可能となった、Comparatorを使ってListをソートする方法を備忘のためにアウトプットします。
#単項目でソートする
文字列長でソート
List<String> playerList = Arrays.asList("Keisuke Honda", "Shinji Kagawa", "Marcus Tulio Lyuji Murzani Tanaka");
playerList.sort(Comparator.comparingInt(String::length)
.collect(Collectors.toList());
#複数条件でソートする
thenComparing()
を利用することで、複数条件でソートすることが可能です。
文字列長でソート後、アルファベット順でソート
List<String> playerList = Arrays.asList("Keisuke Honda", "Shinji Kagawa", "Marcus Tulio Lyuji Murzani Tanaka");
playerList.stream().sorted(
Comparator.comparingInt(String::length)
.thenComparing(Comparator.naturalOrder())).collect(Collectors.toList());