🗃️ 1. 配列(Array)の使い方
配列は、同じデータ型の要素を固定された数だけ、ひと続きの領域に格納する構造です。一度サイズを決めると後から変更できません。
宣言と初期化
配列の宣言には、型名と[]を使います。
① サイズを指定して宣言する(後から値を代入)
Java
// int型の要素を5つ格納できる配列を宣言
int[] scores = new int[5];
// インデックスを指定して値を代入
scores[0] = 80; // 1番目(インデックス0)に代入
scores[4] = 95; // 5番目(インデックス4)に代入
// scores[5] = 100; // エラー!範囲外
② 値を指定して宣言する(初期化子)
宣言と同時に初期値を与える場合、サイズ指定は不要です。
Java
// サイズ3のString型配列が自動的に作成される
String[] names = {"田中", "佐藤", "鈴木"};
要素の取得と反復処理
配列の要素は、インデックス(添え字)を使って取得します。インデックスは必ず 0から 始まります。
Java
String secondName = names[1]; // "佐藤"を取得
int arrayLength = names.length; // サイズ(3)を取得
// 配列の反復処理(拡張for文が便利)
for (String name : names) {
System.out.println(name);
}
📋 2. リスト(List: ArrayList)の使い方
リストは、配列と異なりサイズを自由に変更できる(要素の追加や削除ができる)データ構造です。Javaでは、ArrayListなどのクラスを使って実現します
宣言と初期化
リストを使うには、Javaの標準機能であるjava.util.Listインターフェースと、その実装クラスであるArrayListを使います。
① 宣言のポイント(ジェネリクス)
リストが扱うデータ型は、< >(ジェネリクス)で指定します。また、プリミティブ型(int, booleanなど)は使えず、対応するラッパークラス(Integer, Booleanなど)を使う必要があります。
Java
// String型の要素を扱うリストを宣言
import java.util.ArrayList;
import java.util.List;
List<String> cities = new ArrayList<>();
要素の操作
| 操作 | メソッド | 説明 |
| 追加 | list.add(要素) | リストの末尾に要素を追加します。 |
| 取得 | list.get(インデックス) | 指定した位置の要素を取得します。 |
| 変更 | list.set(インデックス, 要素) | 指定した位置の要素を新しい値に置き換えます。 |
| 削除 | list.remove(インデックス) | 指定した位置の要素を削除します。 |
| サイズ | list.size() | 現在の要素数を取得します。 |
実行例
Java
List<String> cities = new ArrayList<>();
cities.add("東京"); // 1つ目に追加 (サイズ: 1)
cities.add("大阪"); // 2つ目に追加 (サイズ: 2)
cities.add("名古屋"); // 3つ目に追加 (サイズ: 3)
System.out.println(cities.get(0)); // 出力: 東京
// 2番目の要素(大阪)を削除
cities.remove(1); // サイズ: 2(東京, 名古屋)
System.out.println(cities.size()); // 出力: 2
リストの反復処理(拡張for文)
リストも配列と同様に、拡張for文で簡単にすべての要素を処理できます。
Java
for (String city : cities) {
System.out.println("訪問先: " + city);
}
💡 配列とリストの使い分け
| 特徴 | 配列(Array) | リスト(List/ArrayList) |
| サイズ変更 | 不可(固定) | 可能(動的) |
| 速度 | わずかに速い | 柔軟性がある分、わずかに遅い |
| データ型 | プリミティブ型も直接使える | ラッパークラス(Integerなど)が必要 |
| 用途 | 要素数が最初から決まっている場合 | 要素数が変動する場合、柔軟性が必要な場合 |
通常、要素数が決まっていない、または追加・削除を頻繁に行う場合はリストを使う方が便利です。

