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