dart
Kolekcje
Szukaj…
Tworzenie nowej listy
Listy można tworzyć na wiele sposobów.
Zalecanym sposobem jest użycie literału List :
var vegetables = ['broccoli', 'cabbage'];
Można także użyć konstruktora List :
var fruits = new List();
Jeśli wolisz mocniejsze pisanie, możesz również podać parametr type na jeden z następujących sposobów:
var fruits = <String>['apples', 'oranges'];
var fruits = new List<String>();
Do utworzenia małej rozwijalnej listy, pustej lub zawierającej znane wartości początkowe, preferowana jest forma dosłowna. Istnieją wyspecjalizowane konstruktory dla innych rodzajów list:
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));
Zobacz także przewodnik po kolekcjach w efektywnym stylu Dart .
Tworzenie nowego zestawu
Zestawy można tworzyć za pomocą konstruktora:
var ingredients = new Set();
ingredients.addAll(['gold', 'titanium', 'xenon']);
Tworzenie nowej mapy
Mapy można tworzyć na wiele sposobów.
Za pomocą konstruktora możesz utworzyć nową mapę w następujący sposób:
var searchTerms = new Map();
Typy klucza i wartości można również zdefiniować za pomocą ogólnych:
var nobleGases = new Map<int, String>();
var nobleGases = <int, String>{};
W przeciwnym razie mapy można tworzyć za pomocą literału mapy:
var map = {
"key1": "value1",
"key2": "value2"
};
Zamapuj każdy element w kolekcji.
Wszystkie obiekty kolekcja zawiera map metodę, że trwa Function jako argumentu, który musi podjąć jeden argument. Zwraca Iterable wspierany przez kolekcję. Gdy Iterable się powtórzyć, każdy krok wywołuje funkcję z nowym elementem kolekcji, a wynik rozmowy staje się kolejnym elementem iteracji.
Możesz ponownie przekształcić Iterable w kolekcję, używając metod Iterable.toSet() lub Iterable.toList() lub konstruktora kolekcji, który pobiera Queue.from taką jak Queue.from lub List.from .
Przykład:
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);
}
Zobacz przykład dartpad tutaj: https://dartpad.dartlang.org/a18367ff767f172b34ff03c7008a6fa1
Filtruj listę
Dart pozwala na łatwe filtrowanie listy według where .
var fruits = ['apples', 'oranges', 'bananas'];
fruits.where((f) => f.startsWith('a')).toList(); //apples
Oczywiście możesz użyć niektórych operatorów AND lub OR w klauzuli where.