これだけ覚えれば大丈夫!Javaコレクションの基本と活用法

目次
Javaコレクションとは?
1.配列とコレクションの違い
Javaでデータを扱うとき、必ず出てくるのが「配列」と「コレクション」です。どちらも「データをまとめて扱うもの」という意味では似ていますが、役割や使い勝手が異なります。例えば、配列の場合、new int[5];のように予めデータ数を決める必要があります。一方、コレクションはデータの追加・削除ができ、状況に応じてサイズが変わります。
2.なぜコレクションを使うのか
コレクションを使う理由は、「データを効率よく、扱いやすく管理できるから」に尽きます。
例えば
データ数がわからない、後から増減する
→ 配列では不便だけど、Listなら自由に追加・削除できる
重複データを避けたい
→ Setを使えば、自動で重複が排除される
キーと値の組み合わせでデータ管理したい
→ Mapを使うだけで、検索・取得・管理が容易
つまり、コレクションを使うことで、単なるデータの保存だけでなく、データ操作(追加・取得・検索・並び替え・フィルタリングなど)も効率よく行えます。
Javaコレクションの種類
Javaのコレクションには様々な種類がありますが、代表的なのがList、Set、Mapです。
それぞれ役割や特徴が異なるので、使うべき場面も違います。
1.Listの特徴
・順序が保証される(追加した順)
・同じ値(重複データ)も追加できる
・データの取得、追加、削除が手軽
例:ArrayList, LinkedList
2.Setの特徴
・重複データを許さない
例:HashSet, LinkedHashSet, TreeSet
3.Mapの特徴
・キーと値の組み合わせで管理
・キーがユニークである必要がある
例:HashMap, LinkedHashMap, TreeMap
ジェネリクスで安全・便利に使う
1.ジェネリクスで型安全を実現する
ジェネリクスを使うことで、コードが安全でわかりやすく、エラーも減ります。
ジェネリクスの「型パラメータ」は、データの種類を指定できる仕組みです。
List<String> names = new ArrayList<>();
names.add(“Alice”); // 文字列だけ追加できる
ここでList<String>という部分が、「String型だけを扱うリスト」という意味です。
もしジェネリクスを使わず、単なるListを使うと、次の問題が発生します。
List names = new ArrayList();
names.add(“Alice”); // String
names.add(100); // Integerも追加できてしまう
後から値を取得したとき、StringなのかIntegerなのかわからず、キャストエラーが発生しやすくなります。
ジェネリクスを使うと、データの種類がコード上で保証されるため、安全で予期せぬエラーが減るのです。
2.Javaコレクションでよく使うジェネリクス例
JavaのListでは、ジェネリクスを使うことで扱うデータの型を明確にでき、コードの安全性・可読性が向上します。
例えば、List<Integer>のように書けば、そのListが数値だけを扱うことが保証され、間違って他の型を追加してしまう心配がありません。
次の例では、List<Integer>を使って、数値だけを管理・取得する方法を示しています。
List<Integer> scores = new ArrayList<>();
scores.add(90);
scores.add(85);
for (Integer score : scores) {
System.out.println(score);
}