Collezioni generiche nella pratica
Tipizzare List, Map e contenitori personalizzati.
Collezioni generiche nella pratica è 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.
Le raccolte sono generiche
Le raccolte di uso quotidiano di Dart sono tutte generiche. List, Set e Map accettano parametri di tipo che stabiliscono quali elementi possono contenere. 📦
Specificare il tipo di una List
Una List accetta un parametro di tipo per i propri elementi. Dichiarare List di String significa che ogni elemento deve essere una String.
List<String> names = ['Ada', 'Linus'];Specificare il tipo di un Set
Un Set funziona allo stesso modo e mantiene gli elementi unici. Set di int contiene numeri interi senza duplicati.
Set<int> ids = {1, 2, 2, 3};Specificare il tipo di una Map
Una Map accetta due parametri di tipo: uno per le chiavi e uno per i valori. L'ordine è importante: il tipo della chiave viene elencato per primo.
Map<String, int> ages = {'Ada': 36};Inferenza dai literal
Quando scrivete un literal, Dart spesso deduce il tipo dal suo contenuto. Un elenco di numeri diventa automaticamente una List di int.
var scores = [90, 85, 100];Annotare i literal vuoti
Un literal vuoto non contiene informazioni da cui dedurre il tipo, quindi dovete aggiungere personalmente il tipo. Altrimenti Dart potrebbe dedurne uno diverso da quello desiderato.
var queue = <String>[];I tipi degli elementi si propagano
Una volta specificato il tipo, i metodi restituiscono il corretto tipo di elemento. Leggere da una List di String restituisce una String, pronta per essere usata direttamente.
List<String> names = ['Ada'];
String first = names.first;Annidare i generics
I parametri di tipo possono essere annidati quanto necessario. Una Map da String a List di int è perfettamente valida e completamente verificata.
Map<String, List<int>> grades = {
'Ada': [90, 85]
};I generics incontrano le trasformazioni
Metodi come map trasportano i tipi lungo una pipeline. Trasformare gli int nelle relative stringhe produce un Iterable di String.
var labels = [1, 2].map((n) => 'n=$n');Contenitori generici personalizzati
Anche le vostre classi generiche si integrano in questo mondo. Uno Stack di T può memorizzare qualsiasi tipo di elemento scelto dal chiamante.
class Stack<T> {
final _items = <T>[];
void push(T x) => _items.add(x);
}Sicurezza dall'inizio alla fine
Dalla dichiarazione alla trasformazione fino alla memorizzazione, il tipo rimane noto. Questo è il vantaggio: riutilizzo e verifica completa lungo tutto il processo.
Controllo rapido
Quanti parametri di tipo accetta una Map?
Riepilogo
Avete specificato i tipi di List, Set e Map, sfruttato l'inferenza, annotato i literal vuoti e annidato i generics. I tipi si propagano in sicurezza attraverso ogni trasformazione. ✅
Impara Dart con un tutor IA — gratis
Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.
- Corsi
- 30
- Lezioni
- 120
Domande Frequenti
La lezione «Collezioni generiche nella pratica» è gratuita?
Sì — il testo completo di «Collezioni generiche nella pratica» è 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 «Collezioni generiche nella pratica»?
Tipizzare List, Map e contenitori personalizzati. 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 «Collezioni generiche nella pratica»?
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
- Perché i generics sono migliori di dynamic
- Classi e metodi generici
- Parametri di tipo vincolati con extends
- Collezioni generiche nella pratica