差分
このページの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 |