F#-可変辞書

ザ・ Dictionary<'TKey, 'TValue> クラスはF#マップデータ構造の可変アナログであり、同じ関数の多くが含まれています。

F#のマップの章から要約すると、マップは値をキーに関連付ける特別な種類のセットです。

可変辞書の作成

可変辞書は、 newキーワードとリストのコンストラクターの呼び出し。次の例はこれを示しています-

open System.Collections.Generic
let dict = new Dictionary<string, string>()
dict.Add("1501", "Zara Ali")
dict.Add("1502","Rishita Gupta")
dict.Add("1503","Robin Sahoo")
dict.Add("1504","Gillian Megan")
printfn "Dictionary - students: %A" dict

プログラムをコンパイルして実行すると、次の出力が生成されます。

Dictionary - students: seq
[[1501, Zara Ali]; [1502, Rishita Gupta]; [1503, Robin Sahoo];
[1504, Gillian Megan]]

Dictionary(TKey、TValue)クラス

Dictionary(TKey、TValue)クラスは、キーと値のコレクションを表します。

次の表に、List(T)クラスのプロパティ、コンストラクター、およびメソッドを示します。

プロパティ

プロパティ 説明
比較者 ディクショナリのキーの同等性を判別するために使用されるIEqualityComparer(T)を取得します。
カウント Dictionary(TKey、TValue)に含まれるキーと値のペアの数を取得します。
項目 指定されたキーに関連付けられた値を取得または設定します。
キー Dictionary(TKey、TValue)のキーを含むコレクションを取得します。
値 Dictionary(TKey、TValue)の値を含むコレクションを取得します。

コンストラクター

コンストラクター 説明
Dictionary(TKey、TValue)() の新しいインスタンスを初期化します Dictionary(TKey, TValue) 空で、デフォルトの初期容量を持ち、キータイプにデフォルトの等式比較子を使用するクラス。
辞書(TKey、TValue)(IDictionary(TKey、TValue)) の新しいインスタンスを初期化します Dictionary(TKey, TValue) 指定されたからコピーされた要素を含むクラス IDictionary(TKey, TValue) キータイプにはデフォルトの等式比較器を使用します。
辞書(TKey、TValue)(IEqualityComparer(TKey)) の新しいインスタンスを初期化します Dictionary(TKey, TValue) 空で、デフォルトの初期容量を持ち、指定されたものを使用するクラス IEqualityComparer(T).
辞書(TKey、TValue)(Int32) の新しいインスタンスを初期化します Dictionary(TKey, TValue) 空で、指定された初期容量を持ち、キータイプにデフォルトの等式比較子を使用するクラス。
辞書(TKey、TValue)(IDictionary(TKey、TValue)、IEqualityComparer(TKey)) の新しいインスタンスを初期化します Dictionary(TKey, TValue) 指定されたからコピーされた要素を含むクラス IDictionary(TKey, TValue) 指定されたものを使用します IEqualityComparer(T).
辞書(TKey、TValue)(Int32、IEqualityComparer(TKey)) の新しいインスタンスを初期化します Dictionary(TKey, TValue) 空で、指定された初期容量を持ち、指定されたを使用するクラス IEqualityComparer(T).
辞書(TKey、TValue)(SerializationInfo、StreamingContext) の新しいインスタンスを初期化します ictionary(TKey, TValue) シリアル化されたデータを持つクラス。

メソッド

方法 説明
追加 指定されたキーと値を辞書に追加します。
晴れ ディクショナリ(TKey、TValue)からすべてのキーと値を削除します。
含むキー Dictionary(TKey、TValue)に指定されたキーが含まれているかどうかを判別します。
含む値 Dictionary(TKey、TValue)に特定の値が含まれているかどうかを判別します。
Equals(Object) 指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判別します。(オブジェクトから継承されます。)
ファイナライズ ガベージコレクションによって再利用される前に、オブジェクトがリソースを解放し、他のクリーンアップ操作を実行できるようにします。(オブジェクトから継承されます。)
GetEnumerator Dictionary(TKey、TValue)を反復処理する列挙子を返します。
GetHashCode デフォルトのハッシュ関数として機能します。(オブジェクトから継承されます。)
GetObjectData System.Runtime.Serialization.ISerializableインターフェイスを実装し、Dictionary(TKey、TValue)インスタンスをシリアル化するために必要なデータを返します。
GetType 現在のインスタンスのタイプを取得します。(オブジェクトから継承されます。)
MemberwiseClone 現在のオブジェクトの浅いコピーを作成します。(オブジェクトから継承されます。)
OnDeserialization System.Runtime.Serialization.ISerializableインターフェイスを実装し、逆シリアル化が完了すると逆シリアル化イベントを発生させます。
削除する 指定されたキーを持つ値をディクショナリ(TKey、TValue)から削除します。
ToString 現在のオブジェクトを表す文字列を返します。(オブジェクトから継承されます。)
TryGetValue 指定されたキーに関連付けられた値を取得します。

例

open System.Collections.Generic
let dict = new Dictionary<string, string>()

dict.Add("1501", "Zara Ali")
dict.Add("1502","Rishita Gupta")
dict.Add("1503","Robin Sahoo")
dict.Add("1504","Gillian Megan")

printfn "Dictionary - students: %A" dict
printfn "Total Number of Students: %d" dict.Count
printfn "The keys: %A" dict.Keys
printf"The Values: %A" dict.Values

プログラムをコンパイルして実行すると、次の出力が生成されます。

Dictionary - students: seq
[[1501, Zara Ali]; [1502, Rishita Gupta]; [1503, Robin Sahoo];
[1504, Gillian Megan]]
Total Number of Students: 4
The keys: seq ["1501"; "1502"; "1503"; "1504"]
The Values: seq ["Zara Ali"; "Rishita Gupta"; "Robin Sahoo"; "Gillian Megan"]