使用上の注意
* System.Collections空間のコレクション(ArrayListなど)は古いので使用せず、 System.Collections.Generic空間のコレクションを使用すること * 要素が増加し追加していくと大きなコストになりやすいので、 要素の数が事前に分かっている場合は初期化時に指定するといい var list = new List<string>(15);
種類
* ListとDictionary は良く使うが他のも知識として纏めておく (重要なのは、それぞれの特徴を理解しておき、その時の状況に応じて使い分けること)
List
* 要素を順番に格納できる
Dictionary
* キーと値のペアで格納できる
HashSet
* 要素を高速に格納できる * ただし要素の重複を許さないhttp://www.atmarkit.co.jp/fdotnet/dotnettips/756hashset/hashset.html
Queue
* 要素を先入れ先出しできるhttp://tech.bbtune.com/csharp/items/4-12.html
Stack
* 要素を後入れ先出しできる
LinkedList
* 大量の要素を高速に挿入・削除できる * しかし、要素番号による操作はできない
SortedDictionary
* 二分岐探索により、大量の要素を高速で検索できる
ReadOnlyCollection
* 読み取り専用のコレクション
ObservableCollection
* 変更通知できるコレクションhttp://smdn.jp/programming/netfx/collections/3_objectmodel_2_observablecollection/
ConcurrentQueue
* 複数のスレッドから使用できるキューhttp://d.hatena.ne.jp/siokoshou/20090721
ConcurrentStack
* 複数のスレッドから使用できるスタック