Carregando
0x90Lição 10 de 17

Fundamentos de Iterators e HashMap

Transforme coleções de forma idiomática e conte frequências.

18 min Questionário com 5 perguntas 1 exercício de código
Ao final desta lição, você saberá
  • Usar adaptadores de iterator e HashMap em 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.

main.rs
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}
Saída
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 XP

Escolha o padrão de coleção correto

Classifique cada tarefa entre padrão de iterator ou atualização com HashMap.

0 de 4 classificadosPontuação 0/0
  • “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 map para transformar itens.

  • Use filter para manter apenas itens desejados.

  • Use HashMap para 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.

Exercício 1

Conte frequência de caracteres

+25 XP

Leia uma linha e imprima quantas vezes aparece o caractere a minúsculo.

  • Múltiplos a
  • Sem a
main.rs
Carregando editor…

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…