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