Criando um Hash Map
Parte da seção Logic & Flow do Journey de Rust da Coddy — lição 28 de 66.
Agora que você entende o que são hash maps, vamos aprender como criar um. Para usar hash maps em Rust, primeiro você precisa trazer o tipo HashMap para o escopo com uma declaração use no topo do seu arquivo:
use std::collections::HashMap;Depois de importar o HashMap, você pode criar um novo hash map vazio usando a função HashMap::new():
let mut scores = HashMap::new();Observe que declaramos o hash map como mut porque provavelmente quereremos adicionar dados a ele mais tarde. Quando você cria um hash map vazio desta forma, o Rust não sabe quais serão os tipos das chaves e dos valores até que você comece a inserir dados.
Você também pode especificar os tipos explicitamente se preferir:
let mut scores: HashMap<String, i32> = HashMap::new();Isso cria um hash map que armazenará chaves String (como nomes de alunos) e valores i32 (como notas de testes). O hash map vazio agora está pronto para armazenar seus pares chave-valor.
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Folha de consulta
Para usar hash maps em Rust, importe HashMap da biblioteca padrão:
use std::collections::HashMap;Crie um hash map vazio com tipagem implícita:
let mut scores = HashMap::new();Crie um hash map vazio com anotação de tipo explícita:
let mut scores: HashMap<String, i32> = HashMap::new();Hash maps devem ser declarados como mut se você planeja modificá-los. Ao usar tipagem implícita, o Rust infere os tipos de chave e valor quando você insere dados.
Experimente você mesmo
Esta lição não inclui um desafio de código.
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Logic & Flow
1Fluxo de Controle Avançado
A Expressão 'match'Correspondência de Múltiplos ValoresCorrespondência de IntervalosA Expressão 'if let'Loops como ExpressõesRecapitulação - Parser de Comandos Simples4Agrupando Dados com Structs
O que é uma Struct?Visão Geral de StructsAcessando Campos de uma StructStructs MutáveisStructs como Parâmetros de FunçãoTuple StructsRecapitulação - Criando uma Struct Book2Introdução a Vetores
O que é um Vetor?Criando um VetorAdicionando Elementos com pushAcessando Elementos do VetorIterando sobre um VetorIteração MutávelRemovendo ElementosRecapitulação - Rastreador de Pontuação Básico5Pares Chave-Valor com Hash Maps
O que é um Hash Map?Criando um Hash MapInserindo Pares Chave-ValorAcessando ValoresIterando sobre um Hash MapAtualizando um ValorRemovendo um ParRecapitulação - Contador de Palavras8Projeto: Inventário Simples de Itens
Configuração do ProjetoAdicionando um ItemVerificando o EstoqueVendendo um ItemJuntando tudo3Lista de Tarefas via Linha de Comando
Configuração do ProjetoAdicionando uma TarefaVisualizando Todas as TarefasRemovendo uma TarefaCódigo Final