Dart:
Bruke assosiativ tabeller
Hvordan:
Dart tilbyr en grei syntaks for å opprette og manipulere Maps. Nedenfor er eksempler som demonstrerer grunnleggende operasjoner som oppretting, å legge til elementer og hente verdier.
void main() {
// Opprette en map
var fruktFarger = {
'eple': 'rød',
'banan': 'gul',
'drue': 'lilla'
};
// Legge til et nytt nøkkel-verdi-par
fruktFarger['appelsin'] = 'oransje';
// Få tilgang til en verdi med nøkkelen
print(fruktFarger['eple']); // Utdata: rød
// Oppdatere en verdi
fruktFarger['banan'] = 'grønn';
// Iterere over Mappen
fruktFarger.forEach((frukt, farge) {
print('$frukt: $farge');
});
// Eksempel på utdata:
// eple: rød
// banan: grønn
// drue: lilla
// appelsin: oransje
}
For komplekse datastrukturer eller utvidet funksjonalitet, stoler Dart-programmerere ofte på tillegg til biblioteker. Et slikt bibliotek er collection
som tilbyr avanserte samlingstyper og verktøy. Selv om collection
ikke endrer den grunnleggende måten Maps håndteres på, beriker det dem med nyttefunksjoner og mer sofistikerte samlingstyper. Her er hvordan du kan bruke det for en mer spesifikk oppgave, som å sortere en Map etter dens verdier:
Først, sørg for at collection
pakken er inkludert i din pubspec.yaml
-fil:
dependencies:
collection: ^1.15.0
Deretter kan du bruke den slik:
import 'package:collection/collection.dart';
void main() {
var fruktFarger = {
'eple': 'rød',
'banan': 'gul',
'drue': 'lilla',
'appelsin': 'oransje'
};
// Sortere Mappen etter dens verdier (farger)
var sorterteFrukterEtterFarge = SplayTreeMap.from(
fruktFarger,
(nøkkel1, nøkkel2) => fruktFarger[nøkkel1]!.compareTo(fruktFarger[nøkkel2]!)
);
print(sorterteFrukterEtterFarge);
// Utdata:
// {appelsin: oransje, eple: rød, banan: gul, drue: lilla}
}
Dette eksemplet demonstrerer sortering av en Maps oppføringer basert på deres verdier, og viser hvordan Dart og dets livlige økosystem kan håndtere associative tabeller for mer sofistikert datahåndtering.