差分
このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
| dotnet:collection_generic_performance [2009/03/25 09:05] – ともやん | dotnet:collection_generic_performance [2019/05/18 02:23] (現在) – 外部編集 非ログインユーザー | ||
|---|---|---|---|
| 行 1: | 行 1: | ||
| - | ====== コレクション | + | ====== コレクション クラス の性能比較 ====== | 
| + | 計算量や速度については、[[algorithm: | ||
| - | ===== Dictionary< | + | ===== System.Collections.Generic 名前空間 ===== | 
| - | ^コレクション名^処理^計算量^ | + | ==== Dictionary< | 
| - | | | + | ^処理^計算量^ | 
| - | | | + | ^メソッド^^ | 
| - | | | + | |Add | 
| - | | | + | |Clear | 
| - | | | + | |ContainsKey | 
| - | | | + | |ContainsValue | 
| - | | | + | |Remove | 
| + | ^プロパティ^^ | ||
| + | |Count | ||
| + | |Item  |O(1)に近い | ||
| - | ===== HashSet< | + | ==== HashSet< | 
| - | ^コレクション名^処理^計算量^ | + | ^処理^計算量^ | 
| - | | | + | ^メソッド^^ | 
| - | | | + | |Add  |Count <= 容量 O(1)に近い\\ Count > 容量 O(n) - 自動拡張の為 | 
| - | | | + | |Clear | 
| - | | | + | |Contains | 
| - | | | + | |Remove | 
| + | ^プロパティ^^ | ||
| + | |Count | ||
| - | ===== LinkedList< | + | ==== LinkedList< | 
| - | ^コレクション名^処理^計算量^ | + | ^処理^計算量^ | 
| - | | | + | ^メソッド^^ | 
| - | | | + | |AddAfter、AddBefore、AddFirst、AddLast | 
| - | | | + | |Clear | 
| - | | | + | |Contains | 
| - | | | + | |Find |O(n) | | 
| - | | | + | |FindLast | 
| - | | | + | |Remove | 
| - | |  |RemoveLast | + | |RemoveFirst、RemoveLast | 
| - | | | + | ^プロパティ^^ | 
| - | |  |First | + | |Count、First、Last |O(1) | | 
| - | | |Last |O(1) | | + | |
| - | ===== List< | + | ==== List< | 
| - | ^コレクション名^処理^計算量^ | + | ^処理^計算量^ | 
| - | | | + | ^メソッド^^ | 
| - | | | + | |Add | 
| - | | | + | |AddRange | 
| - | | | + | |Clear | 
| - | | | + | |Contains | 
| - | | | + | |Exists | 
| - | | | + | |Find、FindAll、FindIndex、FindIndex、FindLastIndex | 
| - | | | + | |GetRange | 
| - | | | + | |IndexOf | 
| - | | | + | |Insert | 
| - | | | + | |InsertRange | 
| - | | | + | |LastIndexOf | 
| - | | | + | |Remove、RemoveAll、RemoveAt、RemoveRange|O(n) | 
| - | | | + | |Reverse | 
| - | | | + | |Sort |O(n log n) | | 
| - | | | + | ^プロパティ^^ | 
| + | |Count | ||
| + | |Item |O(1) | | ||
| - | ===== Queue< | + | ==== Queue< | 
| - | ^コレクション名^処理^計算量^ | + | ^処理^計算量^ | 
| - | | | | | | + | ^メソッド^^ | 
| + | |Clear |O(n) | | ||
| + | |Contains | ||
| + | |Dequeue | ||
| + | |Enqueue | ||
| + | |Peek |O(1) | | ||
| + | |TrimExcess | ||
| + | ^プロパティ^^ | ||
| + | |Count | ||
| - | ===== SortedDictionary< | + | ==== SortedDictionary< | 
| - | ^コレクション名^処理^計算量^ | + | ^処理^計算量^ | 
| - | | | | | | + | ^メソッド^^ | 
| + | |Add |O(log n) | | ||
| + | |Clear | ||
| + | |ContainsKey | ||
| + | |ContainsValue | ||
| + | |Remove | ||
| + | |TryGetValue | ||
| + | ^プロパティ^^ | ||
| + | |Count | ||
| + | |Item |取得: O(log n)\\ 設定: O(log n) | | ||
| - | ===== SortedList< | + | ==== SortedList< | 
| - | ^コレクション名^処理^計算量^ | + | ^処理^計算量^ | 
| - | | | | | | + | ^メソッド^^ | 
| + | |Add  |未ソートデータ追加: | ||
| + | |Clear | ||
| + | |ContainsKey | ||
| + | |ContainsValue | ||
| + | |IndexOfKey | ||
| + | |IndexOfValue | ||
| + | |Remove | ||
| + | |RemoveAt | ||
| + | |TrimExcess | ||
| + | |TryGetValue | ||
| + | ^プロパティ^^ | ||
| + | |Count | ||
| + | |Item  |取得: O(log n)\\ 設定: O(log n)\\ 未ソートデータ追加: | ||
| - | ===== Stack< | + | ==== Stack< | 
| - | ^コレクション名^処理^計算量^ | + | ^処理^計算量^ | 
| - | | | | | | + | ^メソッド^^ | 
| + | |Clear |O(n) | | ||
| + | |Contains | ||
| + | |Peek |O(1) | | ||
| + | |Pop |O(1) | | ||
| + | |Push |O(1) | | ||
| + | |TrimExcess | ||
| + | ^プロパティ^^ | ||
| + | |Count | ||
| - | O-記法については [[http://ja.wikipedia.org/ | + | ===== System.Collections.Specialized 名前空間 ===== | 
| + | ==== HybridDictionary ==== | ||
| + | ^処理^計算量^ | ||
| + | ^メソッド^^ | ||
| + | | | | | ||
| + | ^プロパティ^^ | ||
| + | | | | | ||
| + | |||
| + | ==== ListDictionary ==== | ||
| + | ^処理^計算量^ | ||
| + | ^メソッド^^ | ||
| + | | | | | ||
| + | ^プロパティ^^ | ||
| + | | | | | ||
| + | |||
| + | ==== NameObjectCollectionBase ==== | ||
| + | ^処理^計算量^ | ||
| + | ^メソッド^^ | ||
| + | | | | | ||
| + | ^プロパティ^^ | ||
| + | | | | | ||
| + | |||
| + | ==== NameValueCollection ==== | ||
| + | ^処理^計算量^ | ||
| + | ^メソッド^^ | ||
| + | | | | | ||
| + | ^プロパティ^^ | ||
| + | | | | | ||
| + | |||
| + | ==== OrderedDictionary ==== | ||
| + | ^処理^計算量^ | ||
| + | ^メソッド^^ | ||
| + | | | | | ||
| + | ^プロパティ^^ | ||
| + | | | | | ||
| + | |||
| + | ==== StringCollection ==== | ||
| + | ^処理^計算量^ | ||
| + | ^メソッド^^ | ||
| + | | | | | ||
| + | ^プロパティ^^ | ||
| + | | | | | ||
| + | |||
| + | ==== StringDictionary ==== | ||
| + | ^処理^計算量^ | ||
| + | ^メソッド^^ | ||
| + | |Add |O(1) | | ||
| + | |Clear | ||
| + | |ContainsKey | ||
| + | |ContainsValue | ||
| + | |CopyTo | ||
| + | |GetEnumerator | ||
| + | |Remove | ||
| + | ^プロパティ^^ | ||
| + | |Count | ||
| + | |Item |O(1) | | ||
| + | |Keys |O(1) | | ||
| + | |Values | ||