-
数値の昇順でソートする場合:
import java.util.Arrays; import java.util.Comparator; public class Main { public static void main(String[] args) { Integer[] array = {5, 3, 1, 4, 2}; Arrays.sort(array, Comparator.naturalOrder()); System.out.println(Arrays.toString(array)); } }
-
数値の降順でソートする場合:
import java.util.Arrays; import java.util.Comparator; public class Main { public static void main(String[] args) { Integer[] array = {5, 3, 1, 4, 2}; Arrays.sort(array, Comparator.reverseOrder()); System.out.println(Arrays.toString(array)); } }
-
文字列の長さでソートする場合:
import java.util.Arrays; import java.util.Comparator; public class Main { public static void main(String[] args) { String[] array = {"apple", "banana", "cherry", "date"}; Arrays.sort(array, Comparator.comparing(String::length)); System.out.println(Arrays.toString(array)); } }
-
オブジェクトの特定のフィールドでソートする場合:
import java.util.Arrays; import java.util.Comparator; public class Person { private String name; private int age; public Person(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public int getAge() { return age; } @Override public String toString() { return "Person{" + "name='" + name + '\'' + ", age=" + age + '}'; } } public class Main { public static void main(String[] args) { Person[] array = { new Person("Alice", 25), new Person("Bob", 30), new Person("Charlie", 20) }; Arrays.sort(array, Comparator.comparing(Person::getName)); System.out.println(Arrays.toString(array)); } }
これらはいくつかの例ですが、カスタムコンパレータを使用して配列をソートする方法の一部です。具体的な要件に応じてカスタマイズすることもできます。