System.Generics.Collections.TDictionary

Delphi
TDictionary<TKey,TValue> = class(TEnumerable<TPair<TKey,TValue>>)
C++
template<typename TKey, typename TValue> class PASCALIMPLEMENTATION TDictionary__2 : public TEnumerable__1<TPair__2<TKey,TValue> >
プロパティ
| 種類 | 可視性 | ソース | ユニット | 親 | 
|---|---|---|---|---|
| class | public | System.Generics.Collections.pas System.Generics.Collections.hpp | System.Generics.Collections | System.Generics.Collections | 
説明
キー/値ペアのコレクション
TDictionary は、キー/値ペアの汎用コレクションを表します。
このクラスは、キーのコレクションから値のコレクションへのマッピングを行います。TDictionary オブジェクトを作成する際、初期領域、等価演算子、初期コンテンツなど、さまざまな組み合わせを指定することができます。
Add メソッドまたは AddOrSetValue メソッドで、対応する値と関連づけられているキーを追加することができます。エントリの削除は Remove または Clear で行うことができ、後者はすべてのキー/値ペアを削除します。キー/値ペアの追加または削除、キーによる検索は効果的で、キーがハッシュされるため、O(1)に近くなります。キーは nil であってはならず(値は nilであっても構いませんが)、キーに対して等価比較演算子がなければなりません。
TryGetValue、ContainsKey、ContainsValue の各メソッドで、存在の有無、キー、および値に対してテストすることができます。
Items プロパティは、すべてのディクショナリ エントリの一覧です。 Items プロパティにインデックスを付けることによって、値を設定したり取得することもできます。 この方法で値を設定すると、既存の値を上書きします。
クラス TObjectDictionary は TDictionary から派生しており、ディクショナリ エントリからオブジェクトを解放するための自動メカニズムを提供します。
アクセス メソッド
このセクションでは、TDictionary または TObjectDictionary を読み書きするためのメソッドがまとめられており、書き込み時の重複キーや、読み込み時のキーが見つからなかった場合の結果についても記載されています。
書き込み
| メソッド | インデックスの型 | 値の型 | 重複キーの場合 | 
|---|---|---|---|
| Add | TKey | TValue | 例外 | 
| AddOrSetValue | TKey | TValue | 上書き | 
| Items | TKey | TValue | 上書き | 
読み込み
| メソッド | インデックス/入力の型 | 結果の型 | キーが見つからなかった場合 | メモ | 
|---|---|---|---|---|
| ContainsKey | TKey | Boolean | False | True = 見つかった | 
| ContainsValue | TValue | Boolean | N/A | True = 見つかった | 
| ExtractPair | TKey | TPair | デフォルト値のペア | TPair を返し、項目をディクショナリから削除 | 
| Items | TKey | TValue | 例外 | TryGetValue を使用すると例外を回避できる | 
| operator [] | TKey | TValue | 例外 | C++ のみ | 
| Keys | N/A | TKeyCollection | N/A | |
| ToArray | N/A | TArray<TPair<TKey,TValue>> | N/A | |
| TryGetValue | TKey | TValue, Boolean | デフォルト値、False | Items 同様だが例外は発生しない | 
| Values | N/A | TValueCollection | N/A | 
関連項目
- Data.DBXCommon.TKey
- System.Rtti.TValue
- System.Generics.Collections.TDictionary.TKeyCollection
- System.Generics.Collections.TDictionary.TValueCollection
- System.Generics.Collections.TObjectDictionary
- System.Generics.Collections.TDictionary.Count
- System.Generics.Collections.TDictionary.Items
- System.Generics.Collections.TDictionary.Add
- System.Generics.Collections.TDictionary.AddOrSetValue
- System.Generics.Collections.TDictionary.Clear
- System.Generics.Collections.TDictionary.ContainsKey
- System.Generics.Collections.TDictionary.ContainsValue
- System.Generics.Collections.TDictionary.Remove
- System.Generics.Collections.TDictionary.TryGetValue