【Java】配列の要素をソート(並べ替え)する

Javaで配列の要素を並べ換える方法をメモ。

並べ替えにはjava.utilパッケージ、Arraysクラスのsortメソッドを使用する。
Arraysクラスにはソートや検索など、配列を操作するためのメソッドがあらかじめ用意されている。

こちらの記事では配列に格納した全要素をコンソールに表示するプログラムで並べ替えの結果を比較する。

文字列(String)型配列の要素を並べ換える(A – Z)

通常の並び

要素は通常、配列に格納した順に出力される。

	public static void main(String[] args) {

		String[] members = new String[]{"Dave", "Zack", "Andy", "Beck"};

		for(String member : members) {
			System.out.println(member);
		}

	}

}

実行結果(コンソールに出力):

Dave
Zack
Andy
Beck

要素を並べ換える

Arraysクラスのsortメソッドの引数に変数membersを渡して実行する。

import java.util.Arrays;

public class Main {

	public static void main(String[] args) {

		String[] members = new String[]{"Dave", "Zack", "Andy", "Beck"};

		Arrays.sort(members);

		for(String member : members) {
			System.out.println(member);
		}

	}

}

配列に格納した各要素がアルファベット順に並べ変わる。(A to Z)

実行結果(コンソールに出力):

Andy
Beck
Dave
Zack

逆向き(Z to A)に並べ替える

逆向きに並べ替えたい場合は、
Arrays.sortメソッドの二つ目の引数にCollectionsクラスのreverseOrder()メソッドを渡す。

Arrays.sort(members, Collections.reverseOrder());

実行結果(コンソールに出力):

Zack
Dave
Beck
Andy

数値型(Integer)型配列の要素を並べ換える

通常の並び

文字列型と同様、通常は配列に格納した順に出力される。

public class Main {

	public static void main(String[] args) {

		Integer[] numbers = new Integer[]{5, 1, 3, 7, 6, 2, 4};

		for(Integer number : numbers) {
			System.out.print(number + " ");
		}

	}

}

実行結果(コンソールに出力):

5 1 3 7 6 2 4

要素を並べ換える

Arraysクラスのsortメソッドの引数に変数numbersを渡して実行する。

public class Main {

	public static void main(String[] args) {

		Integer[] numbers = new Integer[]{5, 1, 3, 7, 6, 2, 4};
		Arrays.sort(numbers);

		for(Integer number : numbers) {
			System.out.print(number + " ");
		}

	}

}

数値の要素が昇順で並ぶ。

実行結果(コンソールに出力):

1 2 3 4 5 6 7

降順に並べ替える

逆向き(数値の降順)に並べ替えたい場合、
こちらも文字列型で行った時と同様Arrays.sortメソッドの二つ目の引数に
CollectionsクラスのreverseOrder()メソッドを渡す。

Arrays.sort(numbers, Collections.reverseOrder());

実行結果(コンソールに出力):

7 6 5 4 3 2 1

Follow me!