Fundamentos de Iterators e HashMap
Transforme coleções de forma idiomática e conte frequências.
- Usar adaptadores de iterator e
HashMapem cenários práticos de dados.
Iterators oferecem processamento composicional de coleções com adaptadores como map, filter e collect. HashMap<K, V> armazena associações chave-valor com eficiência.
1use std::collections::HashMap;
2
3fn main() {
4 let words = ["rust", "safe", "rust"];
5 let mut counts: HashMap<&str, i32> = HashMap::new();
6
7 for word in words {
8 *counts.entry(word).or_insert(0) += 1;
9 }
10
11 println!("{}", counts["rust"]);
12}2
entry(...).or_insert(...) é a forma idiomática de atualizar contadores em mapas. Cadeias de iterator tornam transformações concisas e expressivas.
Experimente
Até 15 XPEscolha o padrão de coleção correto
Classifique cada tarefa entre padrão de iterator ou atualização com HashMap.
“Create a vector of doubled numbers from a list”
“Count how many times each word appears”
“Keep only even numbers from a vector”
“Track request count per endpoint path”
Principais conclusões
Use
mappara transformar itens.Use
filterpara manter apenas itens desejados.Use
HashMappara contagem e agregação por chave.
Quiz da aula
5 perguntas · aprovação com 4 acertos · até 50 XP
Ao passar, você conclui a aula e mantém sua sequência. As perguntas erradas voltarão em sessões de revisão.
Pratique: escreva código em Rust
Estes exercícios rodam de verdade. Escreva o programa, clique em “Executar testes” e leia o que o compilador informa: aprender a ler as mensagens do compilador é metade do aprendizado de Rust.
Conte frequência de caracteres
Leia uma linha e imprima quantas vezes aparece o caractere a minúsculo.
- Múltiplos a
- Sem a
As aulas de Rust foram escritas para o Rust estável moderno; os exercícios rodam no Rust 1.82 pelo Wandbox, um serviço público gratuito. Seu código-fonte e a entrada de teste são enviados a esse serviço.
Dúvidas sobre esta lição
Travou em algum ponto? Pergunte. Descobriu algo? Compartilhe. Explicar também é uma ótima forma de aprender.
Carregando publicações…