Java で配列要素を並べ替える方法

  1. Java の sort() メソッドを用いた配列要素のソート
  2. Java で配列要素を並べ替える
  3. Java の parallelSort() メソッドを用いて配列の要素を並べ替える
  4. Java の parallelSort() メソッドを用いて配列の要素を並べ替える
  5. Java の parallelSort() メソッドを用いて配列の要素を並べ替える

このチュートリアルでは、Java で配列の要素をソートする方法と、それを理解するためのコード例を紹介します。

配列の要素をソートするには、Arrays.sort(), sorted(), parallelSort() メソッドなど、いくつかの方法があります。例を見てみましょう。

Java の sort() メソッドを用いた配列要素のソート

ここでは、Arrays クラスの sort() メソッドを用いて要素をソートします。このメソッドは昇順に要素をソートします。以下の例を参照してください。

import java.util.Arrays;

public class SimpleTesting {
	public static void main(String[] args) {	
		int[] arr = new int[]{12,3,5,21,4,85,6,9,2,1};
		for (int i : arr) {
			System.out.print(i+" ");
		}
		Arrays.sort(arr);
		System.out.println("\nAfter Sorting...");
		for (int i : arr) {
			System.out.print(i+" ");
		}
	}
}

出力:

12 3 5 21 4 85 6 9 2 1 
After Sorting...
1 2 3 4 5 6 9 12 21 85 

Java で配列要素を並べ替える

Java の組み込みメソッドを使用したくない場合は、このコードを使用して配列の要素を昇順にソートします。

public class SimpleTesting {
	public static void main(String[] args) {	
		int[] arr = new int[]{12,3,5,21,4,85,6,9,2,1};
		for (int i : arr) {
			System.out.print(i+" ");
		}
		for (int i = 0; i < arr.length; i++) {
			for (int j = 0; j < arr.length; j++) {
				if (arr[i] < arr[j]) {
					int temp = arr[i];
					arr[i] = arr[j];
					arr[j] = temp;
				}
			}
		}
		System.out.println("\nAfter Sorting...");
		for (int i : arr) {
			System.out.print(i+" ");
		}
	}
}

出力:

12 3 5 21 4 85 6 9 2 1 
After Sorting...
1 2 3 4 5 6 9 12 21 85 

Java の parallelSort() メソッドを用いて配列の要素を並べ替える

Java 8 以上のバージョンを使用している場合は、Arrays クラスの parallelSort() メソッドを利用することができる。このメソッドはマルチスレッド環境でのソートに便利です。以下の例を参照してください。

import java.util.Arrays;

public class SimpleTesting {
	public static void main(String[] args) {	
		int[] arr = new int[]{12,3,5,21,4,85,6,9,2,1};
		for (int i : arr) {
			System.out.print(i+" ");
		}
		Arrays.parallelSort(arr);
		System.out.println("\nAfter Sorting...");
		for (int i : arr) {
			System.out.print(i+" ");
		}
	}
}

出力:

12 3 5 21 4 85 6 9 2 1 
After Sorting...
1 2 3 4 5 6 9 12 21 85 

Java の parallelSort() メソッドを用いて配列の要素を並べ替える

Java には、部分配列をソートするためのオーバーロードされた parallelSort() メソッドが用意されている。これは配列の要素を特定のインデックスから別のインデックス(終了インデックス)まで並べ替えることができることを意味する。このメソッドは 3つの引数をとります。1つは配列、2つ目と 3つ目はソートする配列の開始インデックスと終了インデックスです。以下の例を参照してください。

import java.util.Arrays;

public class SimpleTesting {
	public static void main(String[] args) {	
		int[] arr = new int[]{12,3,5,21,4,85,6,9,2,1};
		for (int i : arr) {
			System.out.print(i+" ");
		}
		Arrays.parallelSort(arr, 0, 5);
		System.out.println("\nAfter Sorting...");
		for (int i : arr) {
			System.out.print(i+" ");
		}
	}
}

出力:

12 3 5 21 4 85 6 9 2 1 
After Sorting...
3 4 5 12 21 85 6 9 2 1 

Java の parallelSort() メソッドを用いて配列の要素を並べ替える

Java のストリーム機能を利用したい場合は、sorted() メソッドを利用して要素をソートし、toArray() を利用して要素を配列に集めます。

import java.util.Arrays;

public class SimpleTesting {
	public static void main(String[] args) {	
		int[] arr = new int[]{12,3,5,21,4,85,6,9,2,1};
		for (int i : arr) {
			System.out.print(i+" ");
		}
		arr = Arrays.stream(arr).sorted().toArray();
		System.out.println("\nAfter Sorting...");
		for (int i : arr) {
			System.out.print(i+" ");
		}
	}
}

出力:

12 3 5 21 4 85 6 9 2 1 
After Sorting...
1 2 3 4 5 6 9 12 21 85 

関連記事 - Java Array

  • Java で配列をリストに変換する方法
  • 関連記事 - Array Sorting

  • Java で Int 配列を反転させる方法
  • Java で 2つの配列を連結する方法
  • comments powered by Disqus