2014年4月6日日曜日

c#コレクションの種類



List<T> 要素を配列で持っておいて、配列の長さが足りなくなったら配列を作りなおすリスト※1。
LinkedList<T> 双方向連結リスト。
Stack<T> 後入れ先出し(LIFO: Last In First Out)コレクション。
Queue<T> 先入れ先出し(FIFO: First In First Out)コレクション。
Dictionary<TKey, TValue> ハッシュテーブル方式で要素を管理する辞書※2。
SortedDictionary<TKey, TValue> 二分探索木方式で要素を管理する辞書。
SortedList<TKey, TValue> 整列済み配列で要素を管理する辞書。
HashSet<TKey, TValue> (.NET 4 以降) ハッシュテーブル方式で要素を管理するセット※3。
SortedSet<TKey, TValue> (.NET 4 以降) 二分探索木方式で要素を管理するセット。

※1 リスト: 要素の順序を保つコレクション。
※2 辞書: キーで値を検索可能なコレクション
※3 セット: 要素を含むか含まないかだけを管理するコレクション

うっかり忘れるので備忘録です。