F # - Dictionnaire mutable

le Dictionary<'TKey, 'TValue> class est l'analogue mutable de la structure de données de la carte F # et contient plusieurs des mêmes fonctions.

Récapitulant à partir du chapitre Carte en F #, une carte est un type spécial d'ensemble qui associe les valeurs à la clé.

Création d'un dictionnaire mutable

Les dictionnaires mutables sont créés à l'aide du newmot-clé et appelant le constructeur de la liste. L'exemple suivant illustre ceci -

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

Lorsque vous compilez et exécutez le programme, il produit la sortie suivante -

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

La classe Dictionnaire (TKey, TValue)

La classe Dictionary (TKey, TValue) représente une collection de clés et de valeurs.

Les tableaux suivants fournissent les propriétés, les constructeurs et les méthodes de la classe List (T) -

Propriétés

Propriété La description
Comparer Obtient le IEqualityComparer (T) qui est utilisé pour déterminer l'égalité des clés pour le dictionnaire.
Compter Obtient le nombre de paires clé / valeur contenues dans le dictionnaire (TKey, TValue).
Article Obtient ou définit la valeur associée à la clé spécifiée.
Clés Obtient une collection contenant les clés dans le dictionnaire (TKey, TValue).
Valeurs Obtient une collection contenant les valeurs du Dictionary (TKey, TValue).

Constructeurs

Constructeurs La description
Dictionnaire (TKey, TValue) () Initialise une nouvelle instance du Dictionary(TKey, TValue) classe qui est vide, a la capacité initiale par défaut et utilise le comparateur d'égalité par défaut pour le type de clé.
Dictionnaire (TKey, TValue) (IDictionary (TKey, TValue)) Initialise une nouvelle instance du Dictionary(TKey, TValue) classe qui contient des éléments copiés à partir du spécifié IDictionary(TKey, TValue) et utilise le comparateur d'égalité par défaut pour le type de clé.
Dictionnaire (TKey, TValue) (IEqualityComparer (TKey)) Initialise une nouvelle instance du Dictionary(TKey, TValue) classe qui est vide, a la capacité initiale par défaut et utilise le IEqualityComparer(T).
Dictionnaire (TKey, TValue) (Int32) Initialise une nouvelle instance du Dictionary(TKey, TValue) classe qui est vide, a la capacité initiale spécifiée et utilise le comparateur d'égalité par défaut pour le type de clé.
Dictionnaire (TKey, TValue) (IDictionary (TKey, TValue), IEqualityComparer (TKey)) Initialise une nouvelle instance du Dictionary(TKey, TValue) classe qui contient des éléments copiés à partir du spécifié IDictionary(TKey, TValue) et utilise le spécifié IEqualityComparer(T).
Dictionnaire (TKey, TValue) (Int32, IEqualityComparer (TKey)) Initialise une nouvelle instance du Dictionary(TKey, TValue) classe qui est vide, a la capacité initiale spécifiée et utilise le IEqualityComparer(T).
Dictionnaire (TKey, TValue) (SerializationInfo, StreamingContext) Initialise une nouvelle instance du ictionary(TKey, TValue) classe avec des données sérialisées.

Méthodes

Méthode La description
Ajouter Ajoute la clé et la valeur spécifiées au dictionnaire.
Clair Supprime toutes les clés et valeurs du dictionnaire (TKey, TValue).
ContientKey Détermine si le dictionnaire (TKey, TValue) contient la clé spécifiée.
ContientValeur Détermine si le dictionnaire (TKey, TValue) contient une valeur spécifique.
Equals (objet) Détermine si l'objet spécifié est égal à l'objet actuel. (Hérité de Object.)
Finaliser Permet à un objet d'essayer de libérer des ressources et d'effectuer d'autres opérations de nettoyage avant qu'il ne soit récupéré par le garbage collection. (Hérité de Object.)
GetEnumerator Renvoie un énumérateur qui itère dans le dictionnaire (TKey, TValue).
GetHashCode Sert de fonction de hachage par défaut. (Hérité de Object.)
GetObjectData Implémente l'interface System.Runtime.Serialization.ISerializable et retourne les données nécessaires pour sérialiser l'instance Dictionary (TKey, TValue).
GetType Obtient le Type de l'instance actuelle. (Hérité de Object.)
MemberwiseClone Crée une copie superficielle de l'objet actuel. (Hérité de Object.)
Désérialisation Implémente l'interface System.Runtime.Serialization.ISerializable et déclenche l'événement de désérialisation lorsque la désérialisation est terminée.
Retirer Supprime la valeur avec la clé spécifiée du dictionnaire (TKey, TValue).
ToString Retourne une chaîne qui représente l'objet actuel. (Hérité de Object.)
TryGetValue Obtient la valeur associée à la clé spécifiée.

Exemple

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

Lorsque vous compilez et exécutez le programme, il produit la sortie suivante -

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