独自クラスを作成してArrayListに入れる方が多いと思いますが、
Javaが提供しているクラスを使用し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を使うことにより簡単に実装(実現)できます。
以下、上記のサンプルコードをコンパイルし実行した時の出力です。
ソートおよび逆ソートされているのが出力から確認できます。
$ 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#]
$ 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をつかった簡単なソートおよび逆ソートのサンプルソースでした。