dart
collecties
Zoeken…
Een nieuwe lijst maken
Lijsten kunnen op meerdere manieren worden gemaakt.
De aanbevolen manier is om een letterlijke List te gebruiken:
var vegetables = ['broccoli', 'cabbage'];
De List aannemer kan worden gebruikt als ook:
var fruits = new List();
Als u de voorkeur geeft aan sterker typen, kunt u ook een typeparameter op een van de volgende manieren opgeven:
var fruits = <String>['apples', 'oranges'];
var fruits = new List<String>();
Voor het maken van een kleine lijst met kweekplaatsen, leeg of met enkele bekende beginwaarden, heeft de letterlijke vorm de voorkeur. Er zijn gespecialiseerde constructeurs voor andere soorten lijsten:
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));
Zie ook de Effectieve Dart- stijlgids over collecties .
Een nieuwe set maken
Sets kunnen via de constructor worden gemaakt:
var ingredients = new Set();
ingredients.addAll(['gold', 'titanium', 'xenon']);
Een nieuwe kaart maken
Kaarten kunnen op meerdere manieren worden gemaakt.
Met de constructor kunt u als volgt een nieuwe kaart maken:
var searchTerms = new Map();
Typen voor de sleutel en waarde kunnen ook worden gedefinieerd met behulp van generieke geneesmiddelen:
var nobleGases = new Map<int, String>();
var nobleGases = <int, String>{};
Anders kunnen kaarten worden gemaakt met de letterlijke kaart:
var map = {
"key1": "value1",
"key2": "value2"
};
Wijs elk element in de collectie toe.
Alle verzameling objecten bevatten een map methode die een neemt Function als argument, die een enkele stelling moet nemen. Dit retourneert een Iterable ondersteund door de collectie. Wanneer de Iterable wordt herhaald, roept elke stap de functie aan met een nieuw element van de verzameling en wordt het resultaat van de oproep het volgende element van de iteratie.
U kunt een Iterable in een verzameling veranderen door de methoden Iterable.toSet() of Iterable.toList() gebruiken, of door een collectorconstructor te gebruiken die een iterable als Queue.from of List.from .
Voorbeeld:
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);
}
Zie hier het dartpad-voorbeeld: https://dartpad.dartlang.org/a18367ff767f172b34ff03c7008a6fa1
Filter een lijst
Met Dart kunt u eenvoudig een lijst filteren met where .
var fruits = ['apples', 'oranges', 'bananas'];
fruits.where((f) => f.startsWith('a')).toList(); //apples
Natuurlijk kunt u enkele EN- of OF-operatoren gebruiken in uw Where-clausule.