Java で配列要素を並べ替える方法
Mohammad Irfan
2023年10月12日
-
Java の
sort()
メソッドを用いた配列要素のソート - Java で配列要素を並べ替える
-
Java の
parallelSort()
メソッドを用いて配列の要素を並べ替える -
Java の
parallelSort()
メソッドを用いて配列の要素を並べ替える -
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