見出し画像

Java:配列の数字を小さいor大きい順に並べ替える(Arrays.sort)

※自分用学習メモです

Javaで配列を小さい順(昇順)と大きい順(降順)にソートする方法について、それぞれのコード例と使い方を説明します。

まとめ

  • Arrays.sort(配列) は、配列を昇順に並べ替えたいときに使います。

  • 文字列の場合は辞書順、数値の場合は小さい順にソートされます。

  • 降順にしたい場合は Collections.reverseOrder() を使います。


Arrays.sort の使い方のポイント

  1. インポート: Arrays.sort() を使うには import java.util.Arrays; をインポートする必要があります。

  2. 並べ替え対象: Arrays.sort() メソッドに配列を渡すことで、その配列の要素を昇順に並べ替えます。配列は、文字列(String)、整数(int)、浮動小数点数(double)など、様々なデータ型で使うことができます。

  3. 昇順にソート: Arrays.sort() はデフォルトで配列を昇順に並べ替えます。

    • 文字列の場合、辞書順(アルファベット順)に並べ替えられます。

    • 整数の場合、値が小さい順に並べ替えられます。


1. 配列を小さい順(昇順)にソートするコード

コード例

import java.util.Arrays;

public class AscendingSortExample {
    public static void main(String[] args) {
        // 配列を定義
        int[] array = {5, 3, 8, 1, 2};

        // 配列を小さい順にソート
        Arrays.sort(array);

        // ソート後の配列を出力
        System.out.println("昇順ソート:");
        for (int num : array) {
            System.out.print(num + " ");
        }
    }
}

使い方

  1. Arrays.sort(array); を使うことで、配列 array の要素を小さい順にソートできます。

  2. このメソッドは、配列内の数値を自動的に昇順に並べ替えます。

実行結果

昇順ソート:
1 2 3 5 8

2. 配列を大きい順(降順)にソートするコード

コード例

import java.util.Arrays;
import java.util.Collections;

public class DescendingSortExample {
    public static void main(String[] args) {
        // 配列を定義
        Integer[] array = {5, 3, 8, 1, 2};

        // 配列を大きい順にソート
        Arrays.sort(array, Collections.reverseOrder());

        // ソート後の配列を出力
        System.out.println("降順ソート:");
        for (int num : array) {
            System.out.print(num + " ");
        }
    }
}

使い方

  1. 降順にソートするためには、配列を Integer[] 型に変更する必要があります。int[] 型の配列だと Collections.reverseOrder() を使えないためです。

  2. Arrays.sort(array, Collections.reverseOrder()); を使うことで、配列 array の要素を大きい順にソートできます。

実行結果

降順ソート:
8 5 3 2 1

注意点

  • Arrays.sort() メソッドは、通常 int[] のような基本データ型の配列に対しては昇順にしか動作しません。降順にするためには Integer[] のようなラッパークラスの配列を使う必要があります。

  • Collections.reverseOrder() を使う際には Integer[] 型である必要があるので、必要に応じて型の変更を行ってください。


Arrays.sort の応用例

整数の配列を並べ替える

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        int[] numbers = {5, 2, 8, 1, 3};
        
        Arrays.sort(numbers);
        
        for (int num : numbers) {
            System.out.print(num + " "); // 出力: 1 2 3 5 8
        }
    }
}

降順に並べ替えたい場合

Arrays.sort() はデフォルトでは昇順にしか並べ替えられないので、降順に並べ替えたい場合は Collections.reverseOrder() を使って並べ替えます。

import java.util.Arrays;
import java.util.Collections;

public class Main {
    public static void main(String[] args) {
        // 配列を宣言
        Integer[] numbers = {5, 2, 8, 1, 3};
        
        // 降順に並べ替え
        Arrays.sort(numbers, Collections.reverseOrder());
        
        // 並べ替えた配列を出力
        for (int num : numbers) {
            System.out.print(num + " "); // 出力: 8 5 3 2 1
        }
    }
}

この記事が気に入ったらサポートをしてみませんか?