Skip to content
閲覧中:
配列に関するmethod

配列に関するmethod

Javaの「配列」は、ListやMapなどのコレクション(Collections Framework)とは異なり、**クラスではなく「言語レベルのデータ構造」**です。

そのため、配列自体には list.add()list.size() のような便利なメソッドはほとんど備わっていません。配列を操作するには、主に java.util.Arrays クラス の静的メソッドを使用します。

代表的な操作をカテゴリー別に紹介します。


1. 基本的なプロパティ

配列自身が持っている数少ない機能です。

  • length: 配列の要素数を取得します(メソッドではないので () は不要)。
    Java
    int[] nums = {1, 2, 3};
    System.out.println(nums.length); // 3
    

2. 配列操作の定番:Arrays クラスのメソッド

配列を扱う際は、必ず import java.util.Arrays; が必要です。

  • Arrays.toString(array): 配列の中身を文字列として表示します。
  • これを使わないと [I@15db9742 のようなメモリ番地が表示されてしまいます。

  • Arrays.sort(array): 配列を昇順(小さい順)に並び替えます。

  • Arrays.fill(array, value): 全ての要素を指定した値で埋めます(初期化に便利)。
  • Arrays.equals(array1, array2): 2つの配列の内容が同じか判定します。
Java
import java.util.Arrays;

int[] scores = {80, 50, 90};
Arrays.sort(scores); // [50, 80, 90] になる
System.out.println(Arrays.toString(scores)); // 内容を印字

3. コピーと範囲切り出し

  • Arrays.copyOf(array, newLength): 指定した長さで新しい配列をコピー作成します。
  • Arrays.copyOfRange(array, from, to): 特定の範囲だけを切り出して新しい配列を作ります。
Java
int[] original = {1, 2, 3, 4, 5};
int[] sub = Arrays.copyOfRange(original, 1, 4); // [2, 3, 4]

4. 検索

  • Arrays.binarySearch(array, key): 指定した値がどこにあるか検索します。
  • 注意: 事前に Arrays.sort() で並び替えておく必要があります。

5. 他の型への変換

これが最もよく使われるかもしれません。

  • Arrays.asList(array): 配列を List に変換します。
  • Arrays.stream(array): 配列を Stream に変換します。
Java
String[] arr = {"A", "B", "C"};
// Streamにしてfilterなどの高度な操作へ
long count = Arrays.stream(arr).filter(s -> s.equals("A")).count();

まとめ表:Listとの違い

項目 配列 (Array) リスト (List/ArrayList)
要素数の取得 length (変数) size() (メソッド)
中身の表示 Arrays.toString(a) list.toString() (自動)
並び替え Arrays.sort(a) list.sort(null) / Collections.sort(l)
サイズ変更 不可 自由

配列は「一度決めたら動かせない固定の箱」であるため、**addremove といったメソッドは存在しない**という点が最大の特徴です。

「配列の特定の要素を削除したい」といった場合、 Listに変換してから操作するのが一般的ですが、 その手順を知りたいですか?