🗃️Java -5 配列(Array)、柔軟なリスト(List)

🗃️ 1. 配列(Array)の使い方

配列は、同じデータ型の要素を固定された数だけ、ひと続きの領域に格納する構造です。一度サイズを決めると後から変更できません。

宣言と初期化

配列の宣言には、型名と[]を使います。

① サイズを指定して宣言する(後から値を代入)

// int型の要素を5つ格納できる配列を宣言
int[] scores = new int[5];

// インデックスを指定して値を代入
scores[0] = 80; // 1番目(インデックス0)に代入
scores[4] = 95; // 5番目(インデックス4)に代入
// scores[5] = 100; // エラー!範囲外

② 値を指定して宣言する(初期化子)

宣言と同時に初期値を与える場合、サイズ指定は不要です。

// サイズ3のString型配列が自動的に作成される
String[] names = {"田中", "佐藤", "鈴木"};

要素の取得と反復処理

配列の要素は、インデックス(添え字)を使って取得します。インデックスは必ず 0から 始まります。

String secondName = names[1]; // "佐藤"を取得
int arrayLength = names.length; // サイズ(3)を取得

// 配列の反復処理(拡張for文が便利)
for (String name : names) {
    System.out.println(name);
}

⚠️ 「インデックス5なんて存在しない!」と言われたら 初心者が配列で最も苦労するのが、IndexOutOfBoundsException という範囲外アクセスによるエラーです。 [ProgrammingHacks] では、こうした「なぜ動かないのか」という小さな疑問を、LINEで現役エンジニアに即座に質問できます。独学で数時間悩むよりも、5分で解決して次の学習へ進むのが効率的です。


📋 2. リスト(List: ArrayList)の使い方

リストは、配列と異なりサイズを自由に変更できる(要素の追加や削除ができる)データ構造です。Javaでは、ArrayListなどのクラスを使って実現します

宣言と初期化

リストを使うには、Javaの標準機能であるjava.util.Listインターフェースと、その実装クラスであるArrayListを使います。

① 宣言のポイント(ジェネリクス)

リストが扱うデータ型は、< >ジェネリクス)で指定します。また、プリミティブ型(int, booleanなど)は使えず、対応するラッパークラスInteger, Booleanなど)を使う必要があります。

// String型の要素を扱うリストを宣言
import java.util.ArrayList;
import java.util.List;

List<String> cities = new ArrayList<>();

要素の操作

操作メソッド説明
追加list.add(要素)リストの末尾に要素を追加します。
取得list.get(インデックス)指定した位置の要素を取得します。
変更list.set(インデックス, 要素)指定した位置の要素を新しい値に置き換えます。
削除list.remove(インデックス)指定した位置の要素を削除します。
サイズlist.size()現在の要素数を取得します。

実行例

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文で簡単にすべての要素を処理できます。

for (String city : cities) {
    System.out.println("訪問先: " + city);
}

💡 「Integer」や「< >」に戸惑っていませんか? リストを使う際に急に出てくるこれらの記号やルールは、Javaの「オブジェクト指向」の深い部分に関わっています。 [DMM WEBCAMP 学習コース] なら、こうした初心者泣かせの用語も、プロが噛み砕いて解説。ただコードを丸暗記するのではなく、仕組みから理解できるので、どんなエラーにも動じない基礎力が身につきます。


💡 配列とリストの使い分け

特徴配列(Array)リスト(List/ArrayList)
サイズ変更不可(固定)可能(動的)
速度わずかに速い柔軟性がある分、わずかに遅い
データ型プリミティブ型も直接使えるラッパークラス(Integerなど)が必要
用途要素数が最初から決まっている場合要素数が変動する場合、柔軟性が必要な場合

通常、要素数が決まっていない、または追加・削除を頻繁に行う場合はリストを使う方が便利です。

🏫 現場の「ベストプラクティス」を身につける 実務では、配列よりもリスト(ArrayList)を使う場面が圧倒的に多いです。しかし、状況によっては配列が最適なケースもあります。 その「使い分けの勘所」を学べるのが、講師と対面で対話できる [Winスクール] の強み。あなたのレベルに合わせた最適な課題を通じて、現場のプロと同じ視点・判断基準を最短距離で習得できます。

💡まとめ(次のステップ)

🚀 データ構造をマスターすれば、アプリが作れる 今回学んだ配列やリストは、SNSの投稿一覧やショッピングサイトの商品リストなど、あらゆるサービスの心臓部になります。

  • この知識を仕事に変える:[DMM WEBCAMP エンジニア転職] 「Javaを仕事にする」ための最短ルートを提案してくれる無料カウンセリング。あなたの適性と可能性をプロに見極めてもらえます。