F # - Diccionario mutable
los Dictionary<'TKey, 'TValue> class es el análogo mutable de la estructura de datos del mapa F # y contiene muchas de las mismas funciones.
Recapitulando del capítulo Mapa en F #, un mapa es un tipo especial de conjunto que asocia los valores con la clave.
Creación de un diccionario mutable
Los diccionarios mutables se crean utilizando newpalabra clave y llamando al constructor de la lista. El siguiente ejemplo demuestra esto:
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
Cuando compila y ejecuta el programa, produce el siguiente resultado:
Dictionary - students: seq
[[1501, Zara Ali]; [1502, Rishita Gupta]; [1503, Robin Sahoo];
[1504, Gillian Megan]]
La clase Dictionary (TKey, TValue)
La clase Dictionary (TKey, TValue) representa una colección de claves y valores.
Las siguientes tablas proporcionan las propiedades, constructores y métodos de la clase List (T):
Propiedades
Propiedad | Descripción |
---|---|
Comparador | Obtiene el IEqualityComparer (T) que se usa para determinar la igualdad de claves para el diccionario. |
Contar | Obtiene el número de pares clave / valor contenidos en el Diccionario (TKey, TValue). |
Articulo | Obtiene o establece el valor asociado con la clave especificada. |
Llaves | Obtiene una colección que contiene las claves en el diccionario (TKey, TValue). |
Valores | Obtiene una colección que contiene los valores del Diccionario (TKey, TValue). |
Constructores
Constructores | Descripción |
---|---|
Diccionario (TKey, TValue) () | Inicializa una nueva instancia del Dictionary(TKey, TValue) clase que está vacía, tiene la capacidad inicial predeterminada y usa el comparador de igualdad predeterminado para el tipo de clave. |
Diccionario (TKey, TValue) (IDictionary (TKey, TValue)) | Inicializa una nueva instancia del Dictionary(TKey, TValue) clase que contiene elementos copiados del especificado IDictionary(TKey, TValue) y utiliza el comparador de igualdad predeterminado para el tipo de clave. |
Diccionario (TKey, TValue) (IEqualityComparer (TKey)) | Inicializa una nueva instancia del Dictionary(TKey, TValue) clase que está vacía, tiene la capacidad inicial predeterminada y utiliza la especificada IEqualityComparer(T). |
Diccionario (TKey, TValue) (Int32) | Inicializa una nueva instancia del Dictionary(TKey, TValue) clase que está vacía, tiene la capacidad inicial especificada y usa el comparador de igualdad predeterminado para el tipo de clave. |
Diccionario (TKey, TValue) (IDictionary (TKey, TValue), IEqualityComparer (TKey)) | Inicializa una nueva instancia del Dictionary(TKey, TValue) clase que contiene elementos copiados del especificado IDictionary(TKey, TValue) y usa el especificado IEqualityComparer(T). |
Diccionario (TKey, TValue) (Int32, IEqualityComparer (TKey)) | Inicializa una nueva instancia del Dictionary(TKey, TValue) clase que está vacía, tiene la capacidad inicial especificada y utiliza la especificada IEqualityComparer(T). |
Diccionario (TKey, TValue) (SerializationInfo, StreamingContext) | Inicializa una nueva instancia del ictionary(TKey, TValue) clase con datos serializados. |
Métodos
Método | Descripción |
---|---|
Añadir | Agrega la clave y el valor especificados al diccionario. |
Claro | Elimina todas las claves y valores del Diccionario (TKey, TValue). |
Contiene clave | Determina si el diccionario (TKey, TValue) contiene la clave especificada. |
Contiene valor | Determina si el diccionario (TKey, TValue) contiene un valor específico. |
Es igual a (objeto) | Determina si el objeto especificado es igual al objeto actual. (Heredado de Object). |
Finalizar | Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de que sea reclamado por la recolección de basura. (Heredado de Object). |
GetEnumerator | Devuelve un enumerador que recorre en iteración el Diccionario (TKey, TValue). |
GetHashCode | Sirve como la función hash predeterminada. (Heredado de Object). |
GetObjectData | Implementa la interfaz System.Runtime.Serialization.ISerializable y devuelve los datos necesarios para serializar la instancia de Dictionary (TKey, TValue). |
GetType | Obtiene el tipo de la instancia actual. (Heredado de Object). |
MemberwiseClone | Crea una copia superficial del objeto actual. (Heredado de Object). |
En Deserialización | Implementa la interfaz System.Runtime.Serialization.ISerializable y genera el evento de deserialización cuando se completa la deserialización. |
Eliminar | Elimina el valor con la clave especificada del Diccionario (TKey, TValue). |
Encadenar | Devuelve una cadena que representa el objeto actual. (Heredado de Object). |
TryGetValue | Obtiene el valor asociado con la clave especificada. |
Ejemplo
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
Cuando compila y ejecuta el programa, produce el siguiente resultado:
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"]