Javaの配列をどのようにソートしますか。
JavaのArraysクラスのsortメソッドを使用すると、配列をソートすることができます。このメソッドには複数のオーバーロードバージョンがあり、異なるタイプの配列をソートするために使用することができます。
整数配列をソートする例は以下の通りです。
import java.util.Arrays;
public class ArraySortExample {
public static void main(String[] args) {
int[] numbers = {5, 2, 9, 1, 3};
// 使用Arrays类的sort方法对数组进行排序
Arrays.sort(numbers);
// 打印排序后的数组
for (int number : numbers) {
System.out.print(number + " ");
}
}
}
このコードは、1、2、3、5、9と出力します。これは、配列が昇順に並べられていることを示しています。
他の種類の配列に対しても、同様の方法を使用して並べ替えることができます。ただし、カスタムクラスの場合はComparableインターフェースを実装し、compareToメソッドを再定義する必要があります。
自分で定義した並べ替えのルールに従って並べ替えが必要な場合は、Comparatorインタフェースを使用し、compareメソッドによって並べ替えのルールを定義できます。
import java.util.Arrays;
import java.util.Comparator;
class Student {
private String name;
private int score;
public Student(String name, int score) {
this.name = name;
this.score = score;
}
public String getName() {
return name;
}
public int getScore() {
return score;
}
}
public class ArraySortExample {
public static void main(String[] args) {
Student[] students = {
new Student("Alice", 80),
new Student("Bob", 70),
new Student("Charlie", 90)
};
// 使用Comparator接口定义排序规则
Arrays.sort(students, new Comparator<Student>() {
@Override
public int compare(Student s1, Student s2) {
return s1.getScore() - s2.getScore(); // 按成绩升序排序
}
});
// 打印排序后的学生信息
for (Student student : students) {
System.out.println(student.getName() + ": " + student.getScore());
}
}
}
このコードは次のように出力されます:
Bob: 70
Alice: 80
Charlie: 90
ボブ:70
アリス:80
チャーリー:90
学生情報が成績の昇順に並べ替えられました。