- 追加された行はこの色です。
- 削除された行はこの色です。
#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をつかった簡単なソートおよび逆ソートのサンプルソースでした。