Arrays.sort()のJavaでの使用法
配列をソートするために用いるArrays.sort()メソッド。さまざまな型の配列をソートするための複数のオーバーロードメソッドがあります。
ネイティブなArrays.sort()メソッドには、以下の種類があります。
- int[] 型配列 arr を昇順にソートする
- int[] arr の fromIndex から toIndex まで (fromIndex を含む、toIndex を含まない) を昇順にソートを行います。
- 参照型配列を昇順にソートします。参照型はComparableインタフェースを実装して、compareTo()メソッドをオーバーライドするか、Comparatorコンパレーターを使用してソートする必要があります。
- public static void sort(Object[] arr, int fromIndex, int toIndex) : 指定された範囲の参照型配列を昇順でソートします。範囲は fromIndex を含み、toIndex を含まないものとします。
整型配列をソートするサンプルコード:
int[] arr = {5, 2, 9, 1, 3};
Arrays.sort(arr);
for (int i : arr) {
System.out.print(i + " ");
}
// 输出结果:1 2 3 5 9
参照型配列ソートの例:
class Person implements Comparable<Person> {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public int compareTo(Person person) {
return this.age - person.age;
}
public String toString() {
return "Person [name=" + name + ", age=" + age + "]";
}
}
Person[] arr = {new Person("Alice", 20), new Person("Bob", 25), new Person("Charlie", 18)};
Arrays.sort(arr);
for (Person p : arr) {
System.out.println(p);
}
// 输出结果:
// Person [name=Charlie, age=18]
// Person [name=Alice, age=20]
// Person [name=Bob, age=25]
PersonクラスはComparableインターフェースを実装し、compareTo()メソッドを上書きして年齢でソートします。