このエントリーをはてなブックマークに追加


ArrayListのソートサンプル

独自クラスを作成してArrayListに入れる方が多いと思いますが、
Javaが提供しているクラスを使用しArrayListに追加しソースおよび逆ソートするサンプルソースです。
独自クラスをArrayListに追加して挿入するサンプルソースは
独自クラスのソートサンプルを参照ください。

関連記事

ArrayListのソート・逆ソートサンプル

IntegerやStringのようなJavaが提供する単純なクラスであれば、sort, reverseを使用することにより
簡単に実装することができます。
以下のサンプルソースは、IntegerとStringのArrayListをソート・逆ソートするサンプルソースです。

import java.util.ArrayList;
import java.util.Collections;

public class ArrayListSort {
    public static void main(String[] args) {
        ArrayList<Integer> ali = new ArrayList<Integer>();
        ArrayList<String> als = new ArrayList<String>();

        // set Integer list
        ali.add(10);
        ali.add(99);
        ali.add(1);
        ali.add(20);
        // sort Integer list
        System.out.println("-- sort/reverse Integer list --");
        // print sort Integer list
        System.out.println("before: " + ali);
        Collections.sort(ali);
        System.out.println("Collections.sort: " + ali);
        // print reverse Integer list
        System.out.println("before: " + ali);
        Collections.reverse(ali);
        System.out.println("Collections.reverse: " + ali);

        // set String list
        als.add("Java");
        als.add("C#");
        als.add("Python");
        als.add("Ruby");
        als.add("Swift");
        // sort String list
        System.out.println("-- sort/reverse String list --");
        // print sort String list
        System.out.println("before: " + als);
        Collections.sort(als);
        System.out.println("Collections.sort: " + als);
        // print reverse String list
        System.out.println("before: " + als);
        Collections.reverse(als);
        System.out.println("Collections.reverse: " + als);
    }
}

Collectionsのsort, reverseを使うことにより簡単に実装(実現)できます。

sort(ソート), reverse(逆ソート)の実行

以下、上記のサンプルコードをコンパイルし実行した時の出力です。
ソートおよび逆ソートされているのが出力から確認できます。

$ javac ArrayListSort.java

$ java ArrayListSort
-- sort/reverse Integer list --
before: [10, 99, 1, 20]
Collections.sort: [1, 10, 20, 99]
before: [1, 10, 20, 99]
Collections.reverse: [99, 20, 10, 1]
-- sort/reverse String list --
before: [Java, C#, Python, Ruby, Swift]
Collections.sort: [C#, Java, Python, Ruby, Swift]
before: [C#, Java, Python, Ruby, Swift]
Collections.reverse: [Swift, Ruby, Python, Java, C#]

使用したJDK

$ javac -version; java -version
javac 1.8.0_102
java version "1.8.0_102"
Java(TM) SE Runtime Environment (build 1.8.0_102-b14)
Java HotSpot(TM) Client VM (build 25.102-b14, mixed mode)

以上、Collectionsをつかった簡単なソートおよび逆ソートのサンプルソースでした。


添付ファイル: fileArrayListSort.java 304件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-07-07 (金) 15:16:08