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

学生情報が成績の昇順に並べ替えられました。

bannerAds