配列に関するmethod
Javaの「配列」は、ListやMapなどのコレクション(Collections Framework)とは異なり、**クラスではなく「言語レベルのデータ構造」**です。
そのため、配列自体には list.add() や list.size()
のような便利なメソッドはほとんど備わっていません。配列を操作するには、主に
java.util.Arrays クラス の静的メソッドを使用します。
代表的な操作をカテゴリー別に紹介します。
1. 基本的なプロパティ¶
配列自身が持っている数少ない機能です。
length: 配列の要素数を取得します(メソッドではないので()は不要)。
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): 特定の範囲だけを切り出して新しい配列を作ります。
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) |
| サイズ変更 | 不可 | 自由 |
配列は「一度決めたら動かせない固定の箱」であるため、**add や remove
といったメソッドは存在しない**という点が最大の特徴です。
「配列の特定の要素を削除したい」といった場合、 Listに変換してから操作するのが一般的ですが、 その手順を知りたいですか?