BohYoh.comトップページへ
Java FAQ
目次

配列のソート方法を教えてください。

 配列のソートは、java.util.Arraysクラスで提供されるsortメソッドで行えます。その概略を以下に示します。なお、水色のメソッドは“安定なソート”が行われることが保障されます。“安定なソート”とは、同一キー値をもつ要素の配列内の前後関係が、ソート前後で保たれるアルゴリズムです。

static void sort(byte[] a) byte値の配列を数値の昇順でソート。
static void sort(byte[] a, int fromIndex, int toIndex) byte値の配列を数値の昇順でソート。
static void sort(char[] a) char値の配列を数値の昇順でソート。
static void sort(char[] a, int fromIndex, int toIndex) char値の配列を数値の昇順でソート。
static void sort(double[] a) double値の配列を数値の昇順でソート。
static void sort(double[] a, int fromIndex, int toIndex) double値の配列を数値の昇順でソート。
static void sort(float[] a) float値の配列を数値の昇順でソート。
static void sort(float[] a, int fromIndex, int toIndex) float値の配列を数値の昇順でソート。
static void sort(int[] a) int値の配列を数値の昇順でソート。
static void sort(int[] a, int fromIndex, int toIndex) int値の配列を数値の昇順でソート。
static void sort(long[] a) long値の配列を数値の昇順でソート。
static void sort(long[] a, int fromIndex, int toIndex) long値の配列を数値の昇順でソート。
static void sort(Object[] a) 要素の「自然順序付け」に従って、オブジェクトの配列を昇順でソート。
static void sort(Object[] a, int fromIndex, int toIndex) 要素の「自然順序付け」に従って、オブジェクトの配列の範囲を昇順でソート。
static void sort(short[] a) short値の配列を数値の昇順でソート。
static void sort(short[] a, int fromIndex, int toIndex) short値の配列を数値の昇順でソート。
static <T> void sort(T[] a, Comparator<? super T> c) コンパレータが示す順序に従って、オブジェクトの配列をソート。
static <T> void sort(T[] a, int fromIndex, int toIndex, Comparator<? super T> c) コンパレータの順番に従って、オブジェクトの配列の指定範囲を昇順でソート。

 int型の配列に値を読み込んで、その値を昇順にソートして表示するプログラムを以下に示します。
配列をソートします。
要素数:5
x[0]:3
x[1]:2
x[2]:1
x[3]:4
x[4]:6
昇順にソートしました。
x[0] = 1
x[1] = 2
x[2] = 3
x[3] = 4
x[4] = 6

// 配列のソート import java.util.Arrays; import java.util.Scanner; class ArraySort { public static void main(String[] args) { Scanner stdIn = new Scanner(System.in); System.out.println("配列をソートします。"); System.out.print("要素数:"); int nx = stdIn.nextInt(); int[] x = new int[nx]; for (int i = 0; i < nx; i++) { System.out.print("x[" + i + "]:"); x[i] = stdIn.nextInt(); } Arrays.sort(x); // 配列xをソート System.out.println("昇順にソートしました。"); for (int i = 0; i < nx; i++) System.out.println("x[" + i + "] = " + x[i]); } }



戻る

BohYoh.comロゴ