ArrayListのソートサンプル †独自クラスを作成してArrayListに入れる方が多いと思いますが、 関連記事 †ArrayListのソート・逆ソートサンプル †IntegerやStringのようなJavaが提供する単純なクラスであれば、sort, reverseを使用することにより 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をつかった簡単なソートおよび逆ソートのサンプルソースでした。 |