Iterare su entry, chiavi e valori
Scorrere una map e usare putIfAbsent.
Iterare su entry, chiavi e valori è una lezione Dart Academy gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Dart Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Dart Academy include 4 lezioni in totale.
Iterare su una Map
A volte dovete visitare ogni coppia in una Map. Dart offre diversi modi semplici per scorrerla. 🚶
Solo le chiavi
La proprietà keys fornisce un iterable contenente tutte le chiavi. Usatelo in un ciclo quando vi interessano solo le etichette.
var m = {'a': 1, 'b': 2};
for (var k in m.keys) {
print(k);
}Solo i valori
La proprietà values fornisce un iterable contenente tutti i valori, ignorando completamente le chiavi.
var m = {'a': 1, 'b': 2};
for (var v in m.values) {
print(v);
}Coppie con entries
La proprietà entries fornisce oggetti MapEntry, così potete accedere contemporaneamente alla chiave e al relativo valore.
for (var e in m.entries) {
print(e.key);
print(e.value);
}La scorciatoia forEach
Il metodo forEach vi fornisce direttamente ogni chiave e ogni valore, rendendo molto chiaro il lavoro da eseguire su ciascuna coppia.
m.forEach((key, value) {
print('$key: $value');
});Ecco putIfAbsent
Usate putIfAbsent per impostare una chiave solo quando manca. Le chiavi esistenti rimangono inalterate.
var m = {'a': 1};
m.putIfAbsent('b', () => 2);Perché putIfAbsent è utile
La funzione che calcola il valore in putIfAbsent viene eseguita solo quando serve, evitando lavoro inutile per le chiavi già presenti.
m.putIfAbsent('a', () => expensive());Aggiornamento di un valore
Il metodo update modifica una chiave esistente tramite una funzione, rivelandosi ideale per contatori e conteggi.
var counts = {'a': 1};
counts.update('a', (v) => v + 1);update con un valore alternativo
Passate ifAbsent a update, così una chiave completamente nuova riceve comunque un valore iniziale invece di generare un errore.
counts.update('z', (v) => v + 1,
ifAbsent: () => 1);Rimodellare con map
Il metodo map trasforma ogni voce in una nuova coppia e restituisce una nuova mappa senza modificare quella originale.
var doubled = m.map((k, v) =>
MapEntry(k, v * 2));L'ordine è quello di inserimento
Una Map predefinita ricorda l'ordine in cui avete inserito le chiavi, quindi i cicli visitano le coppie nello stesso ordine affidabile.
Verifica rapida
Quale proprietà vi fornisce insieme la chiave e il valore in un unico ciclo?
Riepilogo
Ben fatto! Potete iterare su keys, values o entries e usare putIfAbsent e update per gestire le coppie in modo efficace. 🎉
Domande Frequenti
La lezione «Iterare su entry, chiavi e valori» è gratuita?
Sì — il testo completo di «Iterare su entry, chiavi e valori» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Dart Academy, passa a CoddyKit PRO. Il corso Dart Academy include 4 lezioni in totale.
Cosa imparerò in «Iterare su entry, chiavi e valori»?
Scorrere una map e usare putIfAbsent. Eserciti Dart Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Dart Academy?
Non è richiesta alcuna esperienza precedente. Dart Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.
Quanto tempo richiede la lezione «Iterare su entry, chiavi e valori»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Dart Academy?
Sì. Ogni lezione Dart Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Set e unicità garantita
- Operazioni sui set: union, intersection, difference
- Map come archivi chiave-valore
- Iterare su entry, chiavi e valori