Dart Academy · Aula

Iterar sobre entradas, chaves e valores

Percorra um mapa e use putIfAbsent.

Aula 4 de 413 etapas

Iterar sobre entradas, chaves e valores é uma aula grátis de Dart Academy no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Dart Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Dart Academy inclui 4 aulas no total.

Percorrendo um mapa

Às vezes, você precisa visitar todos os pares de um mapa. Dart oferece várias maneiras simples de percorrê-lo. 🚶

Somente as chaves

A propriedade keys fornece um iterável com todas as chaves. Percorra-o quando você se importar apenas com os rótulos.

var m = {'a': 1, 'b': 2};
for (var k in m.keys) {
  print(k);
}

Somente os valores

A propriedade values fornece um iterável com todos os valores, ignorando completamente as chaves.

var m = {'a': 1, 'b': 2};
for (var v in m.values) {
  print(v);
}

Pares com entradas

A propriedade entries fornece objetos MapEntry, para que você possa acessar a chave e seu valor ao mesmo tempo.

for (var e in m.entries) {
  print(e.key);
  print(e.value);
}

O atalho forEach

O método forEach fornece diretamente cada chave e valor, tornando muito clara a leitura do trabalho realizado em cada par.

m.forEach((key, value) {
  print('$key: $value');
});

Conheça putIfAbsent

Use putIfAbsent para definir uma chave somente quando ela estiver ausente. As chaves existentes permanecem inalteradas.

var m = {'a': 1};
m.putIfAbsent('b', () => 2);

Por que putIfAbsent é útil

A função de valor em putIfAbsent é executada somente quando necessário, evitando trabalho desperdiçado para chaves que já estão presentes.

m.putIfAbsent('a', () => expensive());

Atualizando um valor

O método update altera uma chave existente usando uma função, sendo perfeito para contadores e totais.

var counts = {'a': 1};
counts.update('a', (v) => v + 1);

update com alternativa

Passe ifAbsent para update para que uma chave totalmente nova ainda receba um valor inicial, em vez de gerar um erro.

counts.update('z', (v) => v + 1,
  ifAbsent: () => 1);

Reestruturando com map

O método map transforma cada entrada em um novo par e retorna um mapa novo sem alterar o original.

var doubled = m.map((k, v) =>
  MapEntry(k, v * 2));

A ordem é a de inserção

Um mapa padrão mantém a ordem em que você inseriu as chaves, portanto os percursos visitam os pares nessa mesma ordem confiável.

Verificação rápida

Qual propriedade fornece a chave e o valor juntos em um único percurso?

Recapitulação

Muito bem! Percorra com keys, values ou entries e use putIfAbsent e update para gerenciar os pares com inteligência. 🎉

Grátis para começar

Aprenda Dart com um tutor de IA — grátis

Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.

Cursos
30
Aulas
120

Perguntas Frequentes

A aula “Iterar sobre entradas, chaves e valores” é grátis?

Sim — o texto completo de “Iterar sobre entradas, chaves e valores” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Dart Academy, atualize para CoddyKit PRO. O curso de Dart Academy inclui 4 aulas no total.

O que vou aprender em “Iterar sobre entradas, chaves e valores”?

Percorra um mapa e use putIfAbsent. Você pratica Dart Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Dart Academy?

Nenhuma experiência prévia é necessária. Dart Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.

Quanto tempo leva a aula “Iterar sobre entradas, chaves e valores”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Dart Academy?

Sim. Cada aula de Dart Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Conjuntos e unicidade garantida
  2. Operações com conjuntos: união, interseção e diferença
  3. Mapas como armazenamentos de chave e valor
  4. Iterar sobre entradas, chaves e valores
← Voltar para Dart Academy