0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Javaのコレクションとジェネリクス

0
Last updated at Posted at 2026-06-10

この記事の目的

  • コレクション(List / Set / Map)とは何かを直感的に理解する
  • ジェネリクス(Generics)がなぜ必要なのかを例とともに理解する
  • 初学者がつまずきやすいポイントを丁寧に解説する
  • 実務で使う書き方・避けるべき書き方を知る

1. コレクションとは何か?

Java のコレクションは、複数のデータをまとめて扱うための仕組み。

  • 配列と似ているが、以下の点で圧倒的に便利。
  • 要素数が可変(増える・減る)
  • 検索・追加・削除が簡単
  • 用途に応じて List / Set / Map を使い分けられる

2. コレクションの三大分類

■ List(順序あり・重複 OK)

  • 例:ArrayList, LinkedList
    特徴:順番が大事なときに使う

実装例

List<String> names = new ArrayList<>();
names.add("Taro");
names.add("Hanako");

Set(順序なし・重複 NG)

  • 例:HashSet, LinkedHashSet, TreeSet
    特徴:重複を排除したいときに使う
Set<String> users = new HashSet<>();
users.add("A");
users.add("A"); // 無視される

Map(キーと値のペア)

  • 例:HashMap, TreeMap
    特徴:「キーで検索」したいときに使う
Map<String, Integer> scores = new HashMap<>();
scores.put("Math", 80);
scores.put("English", 90);

3. ジェネリクス(Generics)とは?

  • 「このコレクションには何の型を入れるのか」を明確にする仕組み。

例:List
→ 「このリストには String しか入れません」という宣言。

なぜ必要なのか?

❌ ジェネリクスがないと…

List list = new ArrayList();
list.add("Hello");
list.add(123); // 整数も入ってしまう!?
  • 値を取り出すときにキャストが必要。
  • 何番目にどの型が代入されていたか覚えていないといけない。
  • つまり、実行時エラーの原因になる。

⭕ ジェネリクスを使うと…

List<String> list = new ArrayList<>();  //入れてもいい型はStringだけ!
list.add("Hello")
// list.add(123); // コンパイルエラーで防げる
  • 型安全が保たれる
  • キャスト不要
  • IDE の補完が効く

4. つまずきやすいポイント

❗ List と ArrayList の違い

  • 左側(変数の型):インターフェース(List)
  • 右側(実体):実装クラス(ArrayList)
    → 基本は左をインターフェースにするのがベストプラクティス

5.たとえてみると...

コレクションは「カバン」

  • List:順番に並べて入れるリュック
  • Set:同じ物は入れられないロッカー
  • Map:名前札(キー)をつけて収納する棚

ジェネリクスは「カバンのラベル」

List<String>  //「このカバンは“文字列専用”です」

→ ラベルがあるから、間違った物を入れようとすると怒られる(コンパイルエラー)

6.まとめ

✔ コレクションは「複数のデータを扱う仕組み」
✔ List / Set / Map の三種類
✔ ジェネリクスは「型を固定して安全にする仕組み」
✔ List のように型を明示するのが基本

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?