Listのソート(sort)

昇順

Collections.sort(リスト名);

降順

Collections.sort(リスト名, Collections.reverseOrder());

数値型

// 最初の要素で並び替え
Arrays.sort(array, (a, b) -> Integer.compare(a[0], b[0]));

// 並び替え後の結果を表示
for (int[] row : array) {
System.out.println(Arrays.toString(row));
}

文字列型

// 最初の要素で並び替え
Arrays.sort(array, (a, b) -> a[0].compareTo(b[0]));

// 並び替え後の結果を表示
for (String[] row : array) {
System.out.println(Arrays.toString(row));
}

ここから下は別方法


文字列の場合

Comparator<Member> nameComparator = (a, b) -> a.getName().compareTo(b.getName());

数値の場合

Comparator<Person> ageComparator = (a, b) -> Integer.compare(a.getAge, b.gatAge);

charの場合

Comparator<Member> genderComparator = (a, b) -> Character.compare(a.getGender(), b.getGender());


上記の後には必ずソートを実行する

Collections.sort(members, oldComparator);

複数のフィールドでソートの場合

Comparator<Member> nameThenAgeComparator = 
    Comparator.comparing(Member::getName)
              .thenComparing(Member::getOld);

投稿日

カテゴリー:

, , , ,

投稿者: