dart
collezioni
Ricerca…
Creare una nuova lista
Gli elenchi possono essere creati in più modi.
Il modo consigliato è usare un letterale di List :
var vegetables = ['broccoli', 'cabbage'];
Il costruttore List può essere utilizzato anche:
var fruits = new List();
Se preferisci una digitazione più forte, puoi anche fornire un parametro di tipo in uno dei seguenti modi:
var fruits = <String>['apples', 'oranges'];
var fruits = new List<String>();
Per la creazione di un piccolo elenco crescente, vuoto o contenente alcuni valori iniziali noti, viene preferita la forma letterale. Esistono costruttori specializzati per altri tipi di elenchi:
var fixedLengthList1 = new List(8);
var fixedLengthList2 = new List.filled(8, "initial text");
var computedValues = new List.generate(8, (n) => "x" * n);
var fromIterable = new List<String>.from(computedValues.getRange(2, 5));
Vedi anche la guida allo stile di Dart efficace sulle collezioni .
Creare un nuovo set
I set possono essere creati tramite il costruttore:
var ingredients = new Set();
ingredients.addAll(['gold', 'titanium', 'xenon']);
Creare una nuova mappa
Le mappe possono essere create in più modi.
Usando il costruttore, puoi creare una nuova mappa come segue:
var searchTerms = new Map();
I tipi per la chiave e il valore possono anche essere definiti utilizzando i generici:
var nobleGases = new Map<int, String>();
var nobleGases = <int, String>{};
Le mappe possono altrimenti essere create usando la mappa letterale:
var map = {
"key1": "value1",
"key2": "value2"
};
Mappare ogni elemento nella collezione.
Tutti gli oggetti di raccolta contengono un metodo map che accetta una Function come argomento, che deve assumere un singolo argomento. Ciò restituisce un Iterable supportato dalla raccolta. Quando Iterable viene iterato, ogni passaggio chiama la funzione con un nuovo elemento della raccolta e il risultato della chiamata diventa l'elemento successivo dell'iterazione.
Puoi trasformare un Iterable in una raccolta usando i Iterable.toSet() o Iterable.toList() , o usando un costruttore di collezioni che prende un iterabile come Queue.from o List.from .
Esempio:
main() {
var cats = [
'Abyssinian',
'Scottish Fold',
'Domestic Shorthair'
];
print(cats); // [Abyssinian, Scottish Fold, Domestic Shorthair]
var catsInReverse =
cats.map((String cat) {
return new String.fromCharCodes(cat.codeUnits.reversed);
})
.toList(); // [nainissybA, dloF hsittocS, riahtrohS citsemoD]
print(catsInReverse);
}
Vedi esempio di dartpad qui: https://dartpad.dartlang.org/a18367ff767f172b34ff03c7008a6fa1
Filtra una lista
Dart permette di filtrare facilmente un elenco usando where .
var fruits = ['apples', 'oranges', 'bananas'];
fruits.where((f) => f.startsWith('a')).toList(); //apples
Ovviamente è possibile utilizzare alcuni operatori AND o OR nella clausola where.