Dart:
Assosiatiivisten taulukoiden käyttö
Miten:
Dart tarjoaa suoraviivaisen syntaksin Map-tietorakenteiden luomiseen ja käsittelyyn. Alla on esimerkkejä perustoiminnoista, kuten luomisesta, elementtien lisäämisestä ja arvojen hakemisesta.
void main() {
// Kartan luominen
var hedelmanVärit = {
'omena': 'punainen',
'banaani': 'keltainen',
'viinirypäle': 'violetti'
};
// Uuden avain-arvo -parin lisääminen
hedelmanVärit['appelsiini'] = 'oranssi';
// Arvon hakeminen avaimella
print(hedelmanVärit['omena']); // Tuloste: punainen
// Arvon päivittäminen
hedelmanVärit['banaani'] = 'vihreä';
// Iterointi Mapin yli
hedelmanVärit.forEach((hedelma, vari) {
print('$hedelma: $vari');
});
// Esimerkkituloste:
// omena: punainen
// banaani: vihreä
// viinirypäle: violetti
// appelsiini: oranssi
}
Monimutkaisten tietorakenteiden tai laajennetun toiminnallisuuden tapauksessa Dart ohjelmoijat turvautuvat usein lisäkirjastoihin. Yksi tällainen kirjasto on collection
, joka tarjoaa edistyneitä kokoelmatyyppejä ja apuvälineitä. Vaikka collection
ei muuta Map-tietorakenteiden peruskäyttöä, se rikastuttaa niitä hyödyllisillä funktioilla ja monimutkaisemmilla kokoelmatyypeillä. Tässä on, miten voit käyttää sitä tietyn tehtävän suorittamiseen, kuten Mapin järjestämiseen sen arvojen mukaan:
Varmista ensin, että collection
-paketti sisältyy pubspec.yaml
-tiedostoosi:
dependencies:
collection: ^1.15.0
Sen jälkeen voit käyttää sitä seuraavasti:
import 'package:collection/collection.dart';
void main() {
var hedelmanVärit = {
'omena': 'punainen',
'banaani': 'keltainen',
'viinirypäle': 'violetti',
'appelsiini': 'oranssi'
};
// Järjestää Mapin sen arvojen (värien) mukaan
var jarjestetytHedelmatVarinMukaan = SplayTreeMap.from(
hedelmanVärit,
(avain1, avain2) => hedelmanVärit[avain1]!.compareTo(hedelmanVärit[avain2]!)
);
print(jarjestetytHedelmatVarinMukaan);
// Tuloste:
// {appelsiini: oranssi, omena: punainen, banaani: keltainen, viinirypäle: violetti}
}
Tämä esimerkki demonstroi Map-tietueiden järjestämistä niiden arvojen perusteella, ja se näyttää, miten Dart ja sen elinvoimainen ekosysteemi voivat näppärästi käsitellä associatiivisia taulukoita monimutkaisempaan datan käsittelyyn.