Användning av associativa arrayer

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.