Estrutura de dados de hash de ferrugem

Estrutura de dados de hash de ferrugem
Um hashmap é uma coleção de pares de valores-chave. Hashmaps é um conceito mútuo na maioria das linguagens de programação. Muitas vezes, você pode encontrá -los sob a nomeação diferente, como hash, dicionários, mapas, objetos e matrizes associativas.

Um hashmap contém uma chave e seu valor correspondente. Na ferrugem, uma função de hash determina como os pares de chave e valor são alocados na memória gerenciada.

Vamos quebrar como os hashmaps funcionam e como usá -los em nossos programas de ferrugem.

Módulo HashMap

Para usar um hashmap, precisamos importar o módulo hashmap da biblioteca de coleções padrão de ferrugem.

Uma declaração de importação é fornecida abaixo:

Use STD :: Coleções :: Hashmap;

Uma vez importado, podemos usá -lo para trabalhar com hashmaps em ferrugem.

Rust Crie hashmap

Podemos definir um novo hashmap vazio usando o novo método. Um exemplo é fornecido abaixo:

Use STD :: Coleções :: Hashmap;
fn main ()
Deixe mut user_info = hashmap :: new ();

O exemplo anterior cria um novo hashmap vazio que armazena informações do usuário. Para adicionar elementos ao hashmap, podemos usar o método de inserção, como mostrado no exemplo abaixo:

Use STD :: Coleções :: Hashmap;
fn main ()
Deixe mut user_info = hashmap :: new ();
informação de usuário.inserir ("Russell", "Califórnia");
informação de usuário.inserir ("Donna", "Wyoming");
informação de usuário.inserir ("Franklin", "Colorado");
informação de usuário.inserir ("elise", "Pennysylania");
informação de usuário.inserir ("Mason", "Virgina");

Para imprimir o hashmap, podemos usar a impressão! Método com o traço de depuração, como mostrado abaixo:

println!(":?", informação de usuário);

Isso deve retornar as informações completas do mapa de hash, como mostrado abaixo:

"Mason": "Virgina", "Donna": "Wyoming", "Franklin": "Colorado", "Elise": "Pennysylania", "Russell": "California"

Hashmap de ferrugem

Podemos iterar sobre um hashmap usando o método ITER. Um exemplo de ilustração mostrada abaixo:

para (chave, valor) em user_info.iter ()
println!(": ", valor chave);

O método ITER retornará um conjunto de chaves e seus valores correspondentes. Um exemplo de saída é fornecido abaixo:

Donna: Wyoming
Russell: Califórnia
Mason: Virgina
Franklin: Colorado
Elise: Pennysylânia

Verifique se a chave existe

Para verificar se existe uma chave dentro de um hashmap, você pode usar o método contains_key (). Um exemplo é mostrado abaixo:

println!("", informação de usuário.contém_key ("elise"));

A função leva a chave para procurar como argumento e retorna um verdadeiro booleano se a chave existir no hashmap.

Valores de recuperação de ferrugem

Você pode recuperar os valores de um mapa usando o método get. A função leva a chave que você deseja acessar como argumento e retorna o valor correspondente.

Um exemplo é fornecido abaixo:

println!(":?", informação de usuário.obter ("Mason"));

Se a chave especificada existir na coleção, a ferrugem retornará o valor associado e um nenhum se a chave não for encontrada.

Atualização de ferrugem Hashmap

Você pode atualizar um par de valores-chave em um hashmap, passando um valor único para uma chave existente. Um exemplo é fornecido abaixo:

informação de usuário.inserir ("Mason", "Texas");
println!(":?", informação de usuário.obter ("Mason"));

Como a chave "Mason" já existe no hashmap, a Rust substitui automaticamente seu valor pelo novo:

Alguns ("Texas");

Ferrugem remova o valor da chave

Podemos remover um par de valores-chave de um hashmap usando o método de remoção. O método leva a chave que desejamos remover como argumento.

Um exemplo é fornecido abaixo:

informação de usuário.remover ("Mason");

Conclusão

Hashmaps desempenham um papel crítico no fornecimento de diversidade e extensibilidade para seus programas. Este artigo fornece um guia sobre o uso de hashmaps na linguagem de programação de ferrugem e seus diferentes usos. Esperamos que você tenha achado este artigo útil. Verifique os outros artigos de dica do Linux para obter mais dicas e informações.