F # - Dicionário mutável
o Dictionary<'TKey, 'TValue> classe é o análogo mutável da estrutura de dados do mapa F # e contém muitas das mesmas funções.
Recapitulando do capítulo Mapa em F #, um mapa é um tipo especial de conjunto que associa os valores à chave.
Criação de um dicionário mutável
Dicionários mutáveis são criados usando o newpalavra-chave e chamando o construtor da lista. O exemplo a seguir demonstra isso -
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 você compila e executa o programa, ele produz a seguinte saída -
Dictionary - students: seq
[[1501, Zara Ali]; [1502, Rishita Gupta]; [1503, Robin Sahoo];
[1504, Gillian Megan]]
A classe de dicionário (TKey, TValue)
A classe Dictionary (TKey, TValue) representa uma coleção de chaves e valores.
As tabelas a seguir fornecem as propriedades, construtores e métodos da classe List (T) -
Propriedades
Propriedade | Descrição |
---|---|
Comparer | Obtém o IEqualityComparer (T) que é usado para determinar a igualdade das chaves do dicionário. |
Contagem | Obtém o número de pares de chave / valor contidos no Dicionário (TKey, TValue). |
Item | Obtém ou define o valor associado à chave especificada. |
Chaves | Obtém uma coleção contendo as chaves do Dicionário (TKey, TValue). |
Valores | Obtém uma coleção contendo os valores do Dicionário (TKey, TValue). |
Construtores
Construtores | Descrição |
---|---|
Dicionário (TKey, TValue) () | Inicializa uma nova instância do Dictionary(TKey, TValue) classe que está vazia, tem a capacidade inicial padrão e usa o comparador de igualdade padrão para o tipo de chave. |
Dicionário (TKey, TValue) (IDictionary (TKey, TValue)) | Inicializa uma nova instância do Dictionary(TKey, TValue) classe que contém elementos copiados do especificado IDictionary(TKey, TValue) e usa o comparador de igualdade padrão para o tipo de chave. |
Dicionário (TKey, TValue) (IEqualityComparer (TKey)) | Inicializa uma nova instância do Dictionary(TKey, TValue) classe que está vazia, tem a capacidade inicial padrão e usa o especificado IEqualityComparer(T). |
Dicionário (TKey, TValue) (Int32) | Inicializa uma nova instância do Dictionary(TKey, TValue) classe que está vazia, tem a capacidade inicial especificada e usa o comparador de igualdade padrão para o tipo de chave. |
Dicionário (TKey, TValue) (IDictionary (TKey, TValue), IEqualityComparer (TKey)) | Inicializa uma nova instância do Dictionary(TKey, TValue) classe que contém elementos copiados do especificado IDictionary(TKey, TValue) e usa o especificado IEqualityComparer(T). |
Dicionário (TKey, TValue) (Int32, IEqualityComparer (TKey)) | Inicializa uma nova instância do Dictionary(TKey, TValue) classe que está vazia, tem a capacidade inicial especificada e usa o especificado IEqualityComparer(T). |
Dicionário (TKey, TValue) (SerializationInfo, StreamingContext) | Inicializa uma nova instância do ictionary(TKey, TValue) classe com dados serializados. |
Métodos
Método | Descrição |
---|---|
Adicionar | Adiciona a chave e o valor especificados ao dicionário. |
Claro | Remove todas as chaves e valores do Dicionário (TKey, TValue). |
ContainsKey | Determina se o Dicionário (TKey, TValue) contém a chave especificada. |
ContainsValue | Determina se o Dicionário (TKey, TValue) contém um valor específico. |
Igual a (objeto) | Determina se o objeto especificado é igual ao objeto atual. (Herdado do objeto.) |
Finalizar | Permite que um objeto tente liberar recursos e realizar outras operações de limpeza antes de ser recuperado pela coleta de lixo. (Herdado do objeto.) |
GetEnumerator | Retorna um enumerador que itera por meio do Dicionário (TKey, TValue). |
GetHashCode | Serve como a função hash padrão. (Herdado do objeto.) |
GetObjectData | Implementa a interface System.Runtime.Serialization.ISerializable e retorna os dados necessários para serializar a instância do Dicionário (TKey, TValue). |
GetType | Obtém o tipo da instância atual. (Herdado do objeto.) |
MemberwiseClone | Cria uma cópia superficial do objeto atual. (Herdado do objeto.) |
OnDeserialization | Implementa a interface System.Runtime.Serialization.ISerializable e gera o evento de desserialização quando a desserialização é concluída. |
Remover | Remove o valor com a chave especificada do Dicionário (TKey, TValue). |
Para sequenciar | Retorna uma string que representa o objeto atual. (Herdado do objeto.) |
TryGetValue | Obtém o valor associado à chave especificada. |
Exemplo
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 você compila e executa o programa, ele produz a seguinte saída -
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"]