Iterar sobre entradas, chaves e valores
Percorra um mapa e use putIfAbsent.
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. 🎉
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
- Conjuntos e unicidade garantida
- Operações com conjuntos: união, interseção e diferença
- Mapas como armazenamentos de chave e valor
- Iterar sobre entradas, chaves e valores