dart
samlingar
Sök…
Skapa en ny lista
Listor kan skapas på flera sätt.
Det rekommenderade sättet är att använda en List bokstavligen:
var vegetables = ['broccoli', 'cabbage'];
List kan också användas:
var fruits = new List();
Om du föredrar starkare typning kan du också ange en typparameter på något av följande sätt:
var fruits = <String>['apples', 'oranges'];
var fruits = new List<String>();
För att skapa en liten odlingslista, antingen tom eller som innehåller några kända initialvärden, föredras den bokstavliga formen. Det finns specialiserade konstruktörer för andra typer av listor:
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));
Se även Guide för effektiv Dart- stil om samlingar .
Skapa en ny uppsättning
Uppsättningar kan skapas via konstruktören:
var ingredients = new Set();
ingredients.addAll(['gold', 'titanium', 'xenon']);
Skapa en ny karta
Kartor kan skapas på flera sätt.
Med konstruktören kan du skapa en ny karta enligt följande:
var searchTerms = new Map();
Typer för nyckel och värde kan också definieras med generiska:
var nobleGases = new Map<int, String>();
var nobleGases = <int, String>{};
Kartor kan annars skapas med bokstavliga kartor:
var map = {
"key1": "value1",
"key2": "value2"
};
Kartlägga varje element i samlingen.
Alla insamlingsobjekt innehåller en map metod som tar en Function som ett argument, som måste ta ett enda argument. Detta ger en Iterable stöd av samlingen. När Iterable är itererad, kallar varje steg funktionen med ett nytt element i samlingen, och resultatet av samtalet blir nästa element i iterationen.
Du kan förvandla en Iterable till en samling igen genom att använda Iterable.toSet() eller Iterable.toList() -metoderna, eller genom att använda en samlingskonstruktör som tar en iterable som Queue.from eller List.from .
Exempel:
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);
}
Se dartpad-exempel här: https://dartpad.dartlang.org/a18367ff767f172b34ff03c7008a6fa1
Filtrera en lista
Dart gör det enkelt att filtrera en lista med where .
var fruits = ['apples', 'oranges', 'bananas'];
fruits.where((f) => f.startsWith('a')).toList(); //apples
Naturligtvis kan du använda vissa AND- eller OR-operatörer i din där-klausul.