前回はLinkedListの使い方を学びました。
今回は「Arrays」クラスについて解説します。java.util.Arrays は配列に対する便利な操作をまとめたユーティリティクラスで、ソート・検索・コピー・比較などが1行で書けます。
サンプルコード
ファイル作成
「Java62」フォルダに ArraysTest.java という名前でファイルを作成します

コード入力
import java.util.Arrays;
public class ArraysTest {
public static void main(String[] args) {
int[] numbers = {5, 2, 8, 1, 9, 3, 7, 4, 6};
// 表示
System.out.println("元の配列: " + Arrays.toString(numbers));
// ソート
int[] sorted = numbers.clone();
Arrays.sort(sorted);
System.out.println("ソート後: " + Arrays.toString(sorted));
// 二分探索(ソート済み配列に使う)
int idx = Arrays.binarySearch(sorted, 7);
System.out.println("7のインデックス: " + idx);
// コピー
int[] copied = Arrays.copyOf(numbers, 5); // 先頭5要素
System.out.println("先頭5件コピー: " + Arrays.toString(copied));
int[] rangeCopied = Arrays.copyOfRange(numbers, 2, 6); // インデックス2〜5
System.out.println("範囲コピー[2,6): " + Arrays.toString(rangeCopied));
// 比較
int[] a = {1, 2, 3};
int[] b = {1, 2, 3};
int[] c = {1, 2, 4};
System.out.println("\naとbは同じ?: " + Arrays.equals(a, b));
System.out.println("aとcは同じ?: " + Arrays.equals(a, c));
// 初期化(全要素を同じ値で埋める)
int[] filled = new int[5];
Arrays.fill(filled, 99);
System.out.println("fill(99): " + Arrays.toString(filled));
// 2次元配列の表示
int[][] matrix = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
System.out.println("\n2次元配列: " + Arrays.deepToString(matrix));
// StreamへVariant変換
System.out.print("Streamで偶数: ");
Arrays.stream(numbers)
.filter(n -> n % 2 == 0)
.forEach(n -> System.out.print(n + " "));
System.out.println();
}
}

コンパイル
javac ArraysTest.java

実行
java ArraysTest
実行結果は次のようになります。
元の配列: [5, 2, 8, 1, 9, 3, 7, 4, 6]
ソート後: [1, 2, 3, 4, 5, 6, 7, 8, 9]
7のインデックス: 6
先頭5件コピー: [5, 2, 8, 1, 9]
範囲コピー[2,6): [8, 1, 9, 3]
aとbは同じ?: true
aとcは同じ?: false
fill(99): [99, 99, 99, 99, 99]
2次元配列: [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
Streamで偶数: 2 8 4 6

よく使うメソッド一覧
Arrays.toString(arr) // 配列を文字列に変換
Arrays.deepToString(arr) // 多次元配列を文字列に変換
Arrays.sort(arr) // ソート
Arrays.binarySearch(arr, key) // 二分探索
Arrays.copyOf(arr, n) // 先頭n要素をコピー
Arrays.copyOfRange(arr, f, t) // 範囲コピー
Arrays.equals(a, b) // 配列の内容比較
Arrays.fill(arr, val) // 全要素を同じ値で埋める
Arrays.stream(arr) // StreamAPIに変換
まとめ
Arrays クラスを使うことで、配列のソート・検索・コピー・比較・初期化をシンプルに書けます。特に toString() でのデバッグ表示と stream() でのStream API連携はよく使います。配列を扱う際はまず Arrays クラスで使えるメソッドがないか確認しましょう。
2026/08/22(土) ぱんまる


コメント