データ管理へ戻る | サンプル集目次へ戻る

実行結果
ArraySortサンプルソース
Javaの便利なパッケージjava.utilからArraysを紹介。文字コード順に配列を並べ替えます。
ArraySort.java
/**
 * 愛のJava256本ノック for Java 5.0
 * Javaサンプルソース ver0.2C "ArraySort"
 * ArraySort.java 「Arraysで配列をソート」
 *
 * 2005/09/23 制作:安永ノリカズ
 *
 * 【コンパイル&実行方法】
 *     >javac ArraySort.java
 *     >java ArraySort
 * 【キーワード】
 *     並び替え(sort), 自然順序付け(natural ordering), 昇順(ascending order),
 *     Comparable(比較可能)インタフェース, 配列(array)の長さ(length)
 * 【試してみよう】
 *     String型以外の配列をソートしてみる。
 *     java.util.Comparatorを実装したクラスを作り、降順に並べ替える。
 */
import java.lang.String;
import java.lang.System;
import java.util.Arrays;

public class ArraySort {
    public static void main(String[] A00) {
        String[] L00 = { "ウインナー", "アンチョビ", "オニオン", "イカ", "エビ" };

        System.out.println("並び替え前");
        M00(L00);

        Arrays.sort(L00);

        System.out.println("並び替え後");
        M00(L00);
    }

    public static void M00(String[] A00) {
        for (int L00 = 0; L00 < A00.length; L00++) {
            System.out.printf("%d番目:%s%n", L00 + 1, A00[L00]);
        }
    }
}

/* ■ クラスの外でちょっと一言 ■
文字列を並べ替えた場合、文字コードの昇順(小さい順)に並びます。この順序を
決定付けているのは、Stringクラスが実装しているjava.lang.Comparableイン
ターフェースのcompareToメソッドです。一度APIドキュメントで確認しておいて
ください。
初めて見るクラスやメソッドに出会ったら、とりあえずAPIドキュメントで調べ
る癖をつけておくと、いいですよ。最初はチンプンカンプンかもしれませんが、
これも一つのトレーニングと心得て、面倒くさがらないようお願いします。

ここに出てきたforループは、配列を全部表示するための基本パターン。J2SE5.0
からは拡張forループを使って配列を全て走査することが可能になりましたが、
何番目の要素かを表示するために、あえて基本パターンを使ってます。

Arrays.sort()メソッドは、引数によって使用するアルゴリズムが違うみたい
で、int,doubleなどの基本型配列の場合はクイックソート、StringやIntegerの
ような参照型配列の場合はマージソートが使われるそうです。興味のある方は調
べてみてください。

ちなみに、皆さんはピザのトッピングは何が好きですか? 僕がこの中から選ぶ
とすれば、アンチョビ&オニオンあたりかな……なんだかピザを食べたくなって
きたぞ。
 */
↑ 先頭へ戻る

安永ノリカズのゲーム制作&Javaサンプル集 / Java初心者用サンプル集『愛のJava256本ノック』