Gebruik makend van associatieve arrays

Dart:
Gebruik makend van associatieve arrays

Hoe te:

Dart biedt een eenvoudige syntaxis voor het creëren en manipuleren van Maps. Hieronder zijn voorbeelden die basisbewerkingen demonstreren zoals het creëren, toevoegen van elementen en het ophalen van waarden.

void main() {
  // Een map creëren
  var fruitKleuren = {
    'appel': 'rood',
    'banaan': 'geel',
    'druif': 'paars'
  };

  // Een nieuw sleutel-waardepaar toevoegen
  fruitKleuren['sinaasappel'] = 'oranje';

  // Een waarde opvragen via zijn sleutel
  print(fruitKleuren['appel']); // Uitvoer: rood

  // Een waarde bijwerken
  fruitKleuren['banaan'] = 'groen';

  // Itereren over de Map
  fruitKleuren.forEach((fruit, kleur) {
    print('$fruit: $kleur');
  });
  // Voorbeelduitvoer:
  // appel: rood
  // banaan: groen
  // druif: paars
  // sinaasappel: oranje
}

Voor complexe datastructuren of uitgebreide functionaliteit vertrouwen Dart-programmeurs vaak op aanvullende bibliotheken. Een dergelijke bibliotheek is collection, die geavanceerde collectietypes en hulpprogramma’s biedt. Hoewel collection de basismanier waarop Maps worden behandeld niet wijzigt, verrijkt het deze met hulpprogrammafuncties en meer verfijnde collectietypes. Hier is hoe je het zou kunnen gebruiken voor een specifiekere taak, zoals het sorteren van een Map op basis van zijn waarden:

Zorg eerst dat het collection pakket is opgenomen in je pubspec.yaml bestand:

dependencies:
  collection: ^1.15.0

Vervolgens kun je het als volgt gebruiken:

import 'package:collection/collection.dart';

void main() {
  var fruitKleuren = {
    'appel': 'rood',
    'banaan': 'geel',
    'druif': 'paars',
    'sinaasappel': 'oranje'
  };

  // De Map sorteren op basis van zijn waarden (kleuren)
  var gesorteerdeFruitOpKleur = SplayTreeMap.from(
    fruitKleuren,
    (sleutel1, sleutel2) => fruitKleuren[sleutel1]!.compareTo(fruitKleuren[sleutel2]!)
  );

  print(gesorteerdeFruitOpKleur);
  // Uitvoer:
  // {sinaasappel: oranje, appel: rood, banaan: geel, druif: paars}
}

Dit voorbeeld demonstreert het sorteren van de entries van een Map op basis van hun waarden, en toont aan hoe Dart en zijn levendige ecosysteem associatieve arrays behendig kunnen hanteren voor meer verfijnde gegevensmanipulatie.