Fsharp-mutable-dictionary

提供:Dev Guides
移動先:案内検索

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
[[Zara Ali]; [1502, Rishita Gupta]; [1503, Robin Sahoo];
[1504, Gillian Megan]]

Dictionary(TKey、TValue)クラス

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

次の表は、List(T)クラスのプロパティ、コンストラクタ、およびメソッドを提供します-

プロパティ

Property Description
Comparer Gets the IEqualityComparer(T) that is used to determine equality of keys for the dictionary.
Count Gets the number of key/value pairs contained in the Dictionary(TKey, TValue).
Item Gets or sets the value associated with the specified key.
Keys Gets a collection containing the keys in the Dictionary(TKey, TValue).
Values Gets a collection containing the values in the Dictionary(TKey, TValue).

コンストラクタ

Constructors Description
Dictionary(TKey, TValue)() Initializes a new instance of the *Dictionary(TKey, TValue) *class that is empty, has the default initial capacity, and uses the default equality comparer for the key type.
Dictionary(TKey, TValue)(IDictionary(TKey, TValue)) Initializes a new instance of the* Dictionary(TKey, TValue) class that contains elements copied from the specified IDictionary(TKey, TValue) *and uses the default equality comparer for the key type.
Dictionary(TKey, TValue)(IEqualityComparer(TKey)) Initializes a new instance of the* Dictionary(TKey, TValue) class that is empty, has the default initial capacity, and uses the specified IEqualityComparer(T). *
Dictionary(TKey, TValue)(Int32) Initializes a new instance of the* Dictionary(TKey, TValue) *class that is empty, has the specified initial capacity, and uses the default equality comparer for the key type.
Dictionary(TKey, TValue)(IDictionary(TKey, TValue), IEqualityComparer(TKey)) Initializes a new instance of the* Dictionary(TKey, TValue) class that contains elements copied from the specified IDictionary(TKey, TValue) and uses the specified IEqualityComparer(T). *
Dictionary(TKey, TValue)(Int32, IEqualityComparer(TKey)) Initializes a new instance of the* Dictionary(TKey, TValue) class that is empty, has the specified initial capacity, and uses the specified IEqualityComparer(T). *
Dictionary(TKey, TValue)(SerializationInfo, StreamingContext) Initializes a new instance of the* ictionary(TKey, TValue)* class with serialized data.

方法

Method Description
Add Adds the specified key and value to the dictionary.
Clear Removes all keys and values from the Dictionary(TKey, TValue).
ContainsKey Determines whether the Dictionary(TKey, TValue) contains the specified key.
ContainsValue Determines whether the Dictionary(TKey, TValue) contains a specific value.
Equals(Object) Determines whether the specified object is equal to the current object. (Inherited from Object.)
Finalize Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
GetEnumerator Returns an enumerator that iterates through the Dictionary(TKey, TValue).
GetHashCode Serves as the default hash function. (Inherited from Object.)
GetObjectData Implements the System.Runtime.Serialization.ISerializable interface and returns the data needed to serialize the Dictionary(TKey, TValue)instance.
GetType Gets the Type of the current instance. (Inherited from Object.)
MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
OnDeserialization Implements the System.Runtime.Serialization.ISerializable interface and raises the deserialization event when the deserialization is complete.
Remove Removes the value with the specified key from the Dictionary(TKey, TValue).
ToString Returns a string that represents the current object. (Inherited from Object.)
TryGetValue Gets the value associated with the specified key.

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
[[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"]