データの集まりを扱う「コレクション(List / Dictionary / HashSet)」とは?
C#では、複数のデータを効率的に扱うためにコレクションと呼ばれるデータ構造が用意されています。
その中でも代表的な3つが List・Dictionary・HashSet です。
@ List<T>(リスト)
順番を持つコレクションで、配列のように使えますが、要素の追加・削除が簡単です。
List<string> names = new List<string>();
names.Add("太郎");
names.Add("花子");
names.Remove("太郎");
foreach (string name in names) {
Console.WriteLine(name); // → 花子
}
主なメソッド
Add()
:要素の追加
Remove()
:要素の削除
Count
:要素数の取得
Contains()
:含まれているかチェック
A Dictionary<TKey, TValue>(辞書)
キーと値のペアでデータを管理できるコレクションです。
索引の代わりに「キー」でデータにアクセスできます。
Dictionary<string, int> ages = new Dictionary<string, int>();
ages["太郎"] = 20;
ages["花子"] = 18;
Console.WriteLine(ages["太郎"]); // → 20
主なメソッド
Add()
:新しいキーと値の追加
Remove()
:キーの削除
ContainsKey()
:キーの存在確認
TryGetValue()
:安全に値を取得
B HashSet<T>(集合)
重複のないデータの集まりを扱うコレクションです。
順番は保証されませんが、高速な検索・追加・削除が特徴です。
HashSet<string> tags = new HashSet<string>();
tags.Add("C#");
tags.Add("プログラミング");
tags.Add("C#"); // ← 重複は無視される
foreach (var tag in tags) {
Console.WriteLine(tag);
}
主なメソッド
Add()
:要素の追加(重複不可)
Remove()
:要素の削除
Contains()
:含まれているか確認
Set操作(Union, Intersect)
:集合演算
使い分けのポイント
コレクション |
特徴 |
向いている用途 |
List<T> |
順番あり・重複OK |
並びのあるデータ、複数回の追加 |
Dictionary<TKey, TValue> |
キーと値のペア |
名前付きデータの管理 |
HashSet<T> |
順番なし・重複なし |
一意な要素の集合、重複排除 |
まとめ
コレクションは、複数のデータを効率的に管理・操作するための基本ツールです。
List
・Dictionary
・HashSet
などの特性を理解して、用途に応じて使い分けることが大切です。
どれも System.Collections.Generic
名前空間にあるため、using
を忘れずに!