Dart:
Användning av associativa arrayer
Hur gör man:
Dart erbjuder en enkel syntax för att skapa och manipulera Maps. Nedan följer exempel som demonstrerar grundläggande operationer som att skapa, lägga till element och hämta värden.
void main() {
// Skapa en karta
var fruitColors = {
'apple': 'röd',
'banana': 'gul',
'grape': 'lila'
};
// Lägga till ett nytt nyckel-värde-par
fruitColors['orange'] = 'orange';
// Åtkomst av ett värde med dess nyckel
print(fruitColors['apple']); // Utdata: röd
// Uppdatera ett värde
fruitColors['banana'] = 'grön';
// Iterera över kartan
fruitColors.forEach((fruit, color) {
print('$fruit: $color');
});
// Exempelutdata:
// apple: röd
// banana: grön
// grape: lila
// orange: orange
}
För komplexa datastrukturer eller utökad funktionalitet förlitar sig Dart-programmerare ofta på ytterligare bibliotek. Ett sådant bibliotek är collection
som tillhandahåller avancerade samlingstyper och verktyg. Även om collection
inte ändrar det grundläggande sättet Maps hanteras, berikar det dem med verktygsfunktioner och mer sofistikerade samlingstyper. Så här kan du använda det för en mer specifik uppgift, såsom att sortera en Map efter dess värden:
Först, se till att collection
-paketet är inkluderat i din pubspec.yaml
-fil:
dependencies:
collection: ^1.15.0
Sedan kan du använda det som följer:
import 'package:collection/collection.dart';
void main() {
var fruitColors = {
'apple': 'röd',
'banana': 'gul',
'grape': 'lila',
'orange': 'orange'
};
// Sortera kartan efter dess värden (färger)
var sortedFruitsByColor = SplayTreeMap.from(
fruitColors,
(key1, key2) => fruitColors[key1]!.compareTo(fruitColors[key2]!)
);
print(sortedFruitsByColor);
// Utdata:
// {orange: orange, apple: röd, banana: gul, grape: lila}
}
Detta exempel demonstrerar sortering av en Maps poster baserat på deras värden, vilket visar hur Dart och dess livliga ekosystem smidigt kan hantera associativa arrayer för mer sofistikerad datamanipulering.