Utilizzo di array associativi

Dart:
Utilizzo di array associativi

Come fare:

Dart offre una sintassi semplice per creare e manipolare le Mappe. Di seguito sono riportati esempi che dimostrano operazioni di base come la creazione, l’aggiunta di elementi e il recupero di valori.

void main() {
  // Creare una mappa
  var coloriFrutta = {
    'mela': 'rosso',
    'banana': 'giallo',
    'uva': 'viola'
  };

  // Aggiungere una nuova coppia chiave-valore
  coloriFrutta['arancia'] = 'arancione';

  // Accedere a un valore tramite la sua chiave
  print(coloriFrutta['mela']); // Output: rosso

  // Aggiornare un valore
  coloriFrutta['banana'] = 'verde';

  // Iterare sulla Mappa
  coloriFrutta.forEach((frutto, colore) {
    print('$frutto: $colore');
  });
  // Output di esempio:
  // mela: rosso
  // banana: verde
  // uva: viola
  // arancia: arancione
}

Per strutture dati complesse o funzionalità estese, i programmatori Dart si affidano spesso a librerie aggiuntive. Una di queste librerie è collection, che fornisce tipi di collezione avanzati e utilità. Anche se collection non modifica il modo di base in cui le Mappe sono gestite, le arricchisce con funzioni di utilità e tipi di collezione più sofisticati. Ecco come potresti usarlo per un compito più specifico, come ordinare una Mappa per i suoi valori:

Prima di tutto, assicurati che il pacchetto collection sia incluso nel tuo file pubspec.yaml:

dependencies:
  collection: ^1.15.0

Poi, puoi usarlo come segue:

import 'package:collection/collection.dart';

void main() {
  var coloriFrutta = {
    'mela': 'rosso',
    'banana': 'giallo',
    'uva': 'viola',
    'arancia': 'arancione'
  };

  // Ordinare la Mappa per i suoi valori (colori)
  var fruttaOrdinataPerColore = SplayTreeMap.from(
    coloriFrutta,
    (chiave1, chiave2) => coloriFrutta[chiave1]!.compareTo(coloriFrutta[chiave2]!)
  );

  print(fruttaOrdinataPerColore);
  // Output:
  // {arancia: arancione, mela: rosso, banana: giallo, uva: viola}
}

Questo esempio dimostra l’ordinamento delle voci di una Mappa in base ai loro valori, mostrando come Dart e il suo ecosistema vivace possano gestire agilmente gli array associativi per una manipolazione dei dati più sofisticata.