dotnet:collection_generic_performance

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
dotnet:collection_generic_performance [2009/03/25 09:11] ともやんdotnet:collection_generic_performance [2019/05/18 02:23] (現在) – 外部編集 非ログインユーザー
行 1: 行 1:
-====== コレクション ジェネリック クラス の性能比較 ======+====== コレクション クラス の性能比較 ====== 
 + 計算量や速度については、[[algorithm:big_o_notation|O-記法と計算量/速度の関係]]を参照のこと。\\
  
-===== Dictionary<TKey, TValue> =====+===== System.Collections.Generic 名前空間 ===== 
 +==== Dictionary<TKey, TValue> ====
 ^処理^計算量^ ^処理^計算量^
 ^メソッド^^ ^メソッド^^
行 13: 行 15:
 |Item  |O(1)に近い  | |Item  |O(1)に近い  |
  
-===== HashSet<T> =====+==== HashSet<T> ====
 ^処理^計算量^ ^処理^計算量^
 ^メソッド^^ ^メソッド^^
行 23: 行 25:
 |Count  |O(1)  | |Count  |O(1)  |
  
-===== LinkedList<T> =====+==== LinkedList<T> ====
 ^処理^計算量^ ^処理^計算量^
 ^メソッド^^ ^メソッド^^
行 36: 行 38:
 |Count、First、Last  |O(1)  | |Count、First、Last  |O(1)  |
  
-===== List<T> =====+==== List<T> ====
 ^処理^計算量^ ^処理^計算量^
 ^メソッド^^ ^メソッド^^
行 57: 行 59:
 |Item  |O(1)  | |Item  |O(1)  |
  
-===== Queue<T> =====+==== Queue<T> ==== 
 +^処理^計算量^ 
 +^メソッド^^ 
 +|Clear  |O(n)  | 
 +|Contains  |O(n)  | 
 +|Dequeue  |O(1)  | 
 +|Enqueue  |O(n)  | 
 +|Peek  |O(1)  | 
 +|TrimExcess  |O(n)  | 
 +^プロパティ^^ 
 +|Count  |O(1)  | 
 + 
 +==== SortedDictionary<TKey,TValue> ==== 
 +^処理^計算量^ 
 +^メソッド^^ 
 +|Add  |O(log n)  | 
 +|Clear  |O(1)  | 
 +|ContainsKey  |O(log n)  | 
 +|ContainsValue  |O(n)  | 
 +|Remove  |O(log n)  | 
 +|TryGetValue  |O(log n)  | 
 +^プロパティ^^ 
 +|Count  |O(1)  | 
 +|Item  |取得: O(log n)\\ 設定: O(log n)  | 
 + 
 +==== SortedList<TKey,TValue> ==== 
 +^処理^計算量^ 
 +^メソッド^^ 
 +|Add  |未ソートデータ追加: O(n)\\ ソートデータ追加: O(log n)\\ Count > 容量: O(n) - 自動拡張の為 
 +|Clear  |O(n)  | 
 +|ContainsKey  |O(log n)  | 
 +|ContainsValue  |O(n)  | 
 +|IndexOfKey  |O(log n)  | 
 +|IndexOfValue  |O(n)  | 
 +|Remove  |O(n)  | 
 +|RemoveAt  |O(n)  | 
 +|TrimExcess  |O(n)  | 
 +|TryGetValue  |O(log n)  | 
 +^プロパティ^^ 
 +|Count  |O(1)  | 
 +|Item  |取得: O(log n)\\ 設定: O(log n)\\ 未ソートデータ追加: O(n)\\ ソートデータ追加: O(log n)\\ Count > 容量(追加): O(n) - 自動拡張の為 
 + 
 +==== Stack<T> ==== 
 +^処理^計算量^ 
 +^メソッド^^ 
 +|Clear  |O(n)  | 
 +|Contains  |O(n)  | 
 +|Peek  |O(1)  | 
 +|Pop  |O(1)  | 
 +|Push  |O(1)  | 
 +|TrimExcess  |O(n)  | 
 +^プロパティ^^ 
 +|Count  |O(1)  | 
 + 
 +===== System.Collections.Specialized 名前空間 ===== 
 +==== HybridDictionary ====
 ^処理^計算量^ ^処理^計算量^
 ^メソッド^^ ^メソッド^^
行 64: 行 121:
 |  |  | |  |  |
  
-===== SortedDictionary<TKey,TValue> =====+==== ListDictionary ====
 ^処理^計算量^ ^処理^計算量^
 ^メソッド^^ ^メソッド^^
行 71: 行 128:
 |  |  | |  |  |
  
-===== SortedList<TKey,TValue> =====+==== NameObjectCollectionBase ====
 ^処理^計算量^ ^処理^計算量^
 ^メソッド^^ ^メソッド^^
行 78: 行 135:
 |  |  | |  |  |
  
-===== Stack<T> =====+==== NameValueCollection ====
 ^処理^計算量^ ^処理^計算量^
 ^メソッド^^ ^メソッド^^
行 85: 行 142:
 |  |  | |  |  |
  
-O-記法については [[http://ja.wikipedia.org/wiki/ランダウの記号|ランダウの記号 - Wikipedia]] を参照のこと。+==== OrderedDictionary ==== 
 +^処理^計算量^ 
 +^メソッド^^ 
 +|  |  | 
 +^プロパティ^^ 
 +|  |  | 
 + 
 +==== StringCollection ==== 
 +^処理^計算量^ 
 +^メソッド^^ 
 +|  |  | 
 +^プロパティ^^ 
 +|  |  | 
 + 
 +==== StringDictionary ==== 
 +^処理^計算量^ 
 +^メソッド^^ 
 +|Add  |O(1)  | 
 +|Clear  |O(n)  | 
 +|ContainsKey  |O(1)  | 
 +|ContainsValue  |O(n)  | 
 +|CopyTo  |O(n)  | 
 +|GetEnumerator  |O(1)  | 
 +|Remove  |O(1)  | 
 +^プロパティ^^ 
 +|Count  |O(1)  | 
 +|Item  |O(1)  | 
 +|Keys  |O(1)  | 
 +|Values  |O(1)  |
  • dotnet/collection_generic_performance.1237939915.txt.gz
  • 最終更新: 2019/05/18 02:23
  • (外部編集)