JavaのListの使い方を基礎から理解する配列との違いも理解
この記事でわかること
- JavaにおけるListの役割がわかる
- 配列とListの違いを整理して理解できる
- Listの基本的な使い方を学べる
- 要素の追加・取得・削除の方法がわかる
- ループと組み合わせた実践的な使い方を理解できる
Listとは何か
Listは、複数のデータを順番に管理できるコレクションの一つです
配列と同じく複数の値を扱えますが、Listは要素数を自由に増減できるという大きな特徴があります
たとえば、あとからデータが増える可能性がある場合、配列よりもListの方が向いています
配列とListの違い
まずは配列との違いを整理しておくと理解しやすくなります
| 項目 | 配列 | List |
|---|---|---|
| 要素数 | 固定 | 可変 |
| 要素の追加 | 不可 | 可能 |
| 型の指定 | 必要 | 必要(ジェネリクス) |
| 代表的な実装 | なし | ArrayList など |
要素数が変わるかどうかが、配列とListを使い分ける大きなポイントです
Listを使う準備
Listはインターフェースなので、実際には ArrayList などのクラスを使います
import java.util.ArrayList
import java.util.List
List<String> names = new ArrayList<>()<String> の部分は、Listに入れる型を指定しています
要素を追加する
Listでは add メソッドで簡単に要素を追加できます
names.add("鈴木")
names.add("山田")
names.add("田中")| インデックス | 値 |
|---|---|
| 0 | 優花 |
| 1 | 花音 |
| 2 | さくら |
追加した順番でインデックスが割り当てられます
要素を取得・変更する
要素の取得には get、変更には set を使います
System.out.println(names.get(0))
names.set(1, "佐藤")| 操作 | 説明 |
|---|---|
| get(index) | 指定位置の要素を取得 |
| set(index, value) | 要素を置き換え |
要素を削除する
削除には remove を使います
names.remove(0)インデックスが詰められる点には注意が必要です
Listのサイズを取得する
要素数は size で取得できます
System.out.println(names.size())| 項目 | 配列 | List |
|---|---|---|
| 要素数取得 | length | size() |
この違いはよく混乱しやすいので、しっかり覚えておくと安心です
ループとListの組み合わせ
Listもループと相性がとても良いです
for文を使う場合
for (int i = 0; i < names.size(); i++) {
System.out.println(names.get(i))
}拡張for文を使う場合
for (String name : names) {
System.out.println(name)
}| 書き方 | 特徴 |
|---|---|
| 通常for文 | インデックスが使える |
| 拡張for文 | シンプルで読みやすい |
Listを使うときの注意点
- インデックス指定ミスは実行時エラーになります
- 型は必ずジェネリクスで指定します
- 基本型(intなど)はそのまま使えません
基本型を使いたい場合は Integer などのラッパークラスを使います
まとめ
Listは、要素数が変化するデータを扱うときにとても便利な仕組みです
配列との違いを理解し、add、get、remove、size といった基本操作を押さえることで、実用的なコードが書けるようになります
ループと組み合わせて使うことで、Listの扱いやすさを実感できるはずです