#author("2017-07-07T15:14:55+09:00","","")
#author("2017-07-07T15:15:45+09:00","","")
#navi(../)
* ArrayListのソートサンプル [#z8f798bd]
独自クラスを作成してArrayListに入れる方が多いと思いますが、~
Javaが提供しているクラスを使用しArrayListに追加しソースおよび逆ソートするサンプルソースです。~
独自クラスをArrayListに追加して挿入するサンプルソースは~
[[独自クラスのソートサンプル>ソート/独自クラスのソートサンプル]]を参照ください。

#contents

* 関連記事 [#l921b40d]
-[[ArrayListのソートサンプル>ソート/ArrayListのソートサンプル]]
//-[[独自クラスのソートサンプル>ソート/独自クラスのソートサンプル]]
//-[[ArrayListのソートサンプル>ソート/ArrayListのソートサンプル]]
-[[独自クラスのソートサンプル>ソート/独自クラスのソートサンプル]]
-[[独自クラスでキー指定のソートサンプル>ソート/独自クラスでキー指定のソートサンプル]]

* ArrayListのソート・逆ソートサンプル [#hdaf7d4a]
IntegerやStringのようなJavaが提供する単純なクラスであれば、sort, reverseを使用することにより~
簡単に実装することができます。~
以下のサンプルソースは、IntegerとStringのArrayListをソート・逆ソートするサンプルソースです。
#ref(ArrayListSort.java)
 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(逆ソート)の実行 [#c1edcc2a]
以下、上記のサンプルコードをコンパイルし実行した時の出力です。~
ソートおよび逆ソートされているのが出力から確認できます。

 $ 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 [#e13b7bdd]
 $ 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をつかった簡単なソートおよび逆ソートのサンプルソースでした。

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS