F # - Dizionario mutevole

Il Dictionary<'TKey, 'TValue> class è l'analogo mutabile della struttura dati della mappa F # e contiene molte delle stesse funzioni.

Ricapitolando dal capitolo Mappa in F #, una mappa è un tipo speciale di insieme che associa i valori alla chiave.

Creazione di un dizionario mutevole

I dizionari modificabili vengono creati utilizzando il newparola chiave e chiamando il costruttore dell'elenco. Il seguente esempio lo dimostra:

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

Quando compili ed esegui il programma, restituisce il seguente output:

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

La classe Dictionary (TKey, TValue)

La classe Dictionary (TKey, TValue) rappresenta una raccolta di chiavi e valori.

Le seguenti tabelle forniscono le proprietà, i costruttori ei metodi della classe List (T) -

Proprietà

Proprietà Descrizione
Comparer Ottiene l'oggetto IEqualityComparer (T) utilizzato per determinare l'uguaglianza delle chiavi per il dizionario.
Contare Ottiene il numero di coppie chiave / valore contenute nel Dictionary (TKey, TValue).
Articolo Ottiene o imposta il valore associato alla chiave specificata.
Chiavi Ottiene una raccolta contenente le chiavi nel dizionario (TKey, TValue).
Valori Ottiene una raccolta contenente i valori in Dictionary (TKey, TValue).

Costruttori

Costruttori Descrizione
Dizionario (TKey, TValue) () Inizializza una nuova istanza di Dictionary(TKey, TValue) classe che è vuota, ha la capacità iniziale predefinita e utilizza l'operatore di confronto di uguaglianza predefinito per il tipo di chiave.
Dizionario (TKey, TValue) (IDictionary (TKey, TValue)) Inizializza una nuova istanza di Dictionary(TKey, TValue) classe che contiene elementi copiati dal file specificato IDictionary(TKey, TValue) e utilizza l'operatore di confronto di uguaglianza predefinito per il tipo di chiave.
Dizionario (TKey, TValue) (IEqualityComparer (TKey)) Inizializza una nuova istanza di Dictionary(TKey, TValue) che è vuota, ha la capacità iniziale predefinita e utilizza la classe IEqualityComparer(T).
Dizionario (TKey, TValue) (Int32) Inizializza una nuova istanza di Dictionary(TKey, TValue) che è vuota, ha la capacità iniziale specificata e utilizza l'operatore di confronto di uguaglianza predefinito per il tipo di chiave.
Dizionario (TKey, TValue) (IDictionary (TKey, TValue), IEqualityComparer (TKey)) Inizializza una nuova istanza di Dictionary(TKey, TValue) classe che contiene elementi copiati dal file specificato IDictionary(TKey, TValue) e utilizza il file IEqualityComparer(T).
Dizionario (TKey, TValue) (Int32, IEqualityComparer (TKey)) Inizializza una nuova istanza di Dictionary(TKey, TValue) che è vuota, ha la capacità iniziale specificata e utilizza la classe IEqualityComparer(T).
Dizionario (TKey, TValue) (SerializationInfo, StreamingContext) Inizializza una nuova istanza di ictionary(TKey, TValue) classe con dati serializzati.

Metodi

Metodo Descrizione
Inserisci Aggiunge la chiave e il valore specificati al dizionario.
Chiaro Rimuove tutte le chiavi e i valori dal dizionario (TKey, TValue).
ContainsKey Determina se il Dictionary (TKey, TValue) contiene la chiave specificata.
ContainsValue Determina se il Dictionary (TKey, TValue) contiene un valore specifico.
Uguale a (oggetto) Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object.)
Finalizza Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulizia prima che venga recuperato dalla procedura di Garbage Collection. (Ereditato da Object.)
GetEnumerator Restituisce un enumeratore che itera nel Dictionary (TKey, TValue).
GetHashCode Serve come funzione hash predefinita. (Ereditato da Object.)
GetObjectData Implementa l'interfaccia System.Runtime.Serialization.ISerializable e restituisce i dati necessari per serializzare l'istanza Dictionary (TKey, TValue).
GetType Ottiene il Type dell'istanza corrente. (Ereditato da Object.)
MemberwiseClone Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object.)
OnDeserialization Implementa l'interfaccia System.Runtime.Serialization.ISerializable e genera l'evento di deserializzazione quando la deserializzazione è completa.
Rimuovere Rimuove il valore con la chiave specificata dal dizionario (TKey, TValue).
Accordare Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object.)
TryGetValue Ottiene il valore associato alla chiave specificata.

Esempio

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

Quando compili ed esegui il programma, restituisce il seguente output:

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