Menu
CoddyTech

Cercare in una Map

Fa parte della sezione Elenchi e schermate del percorso Flutter di Coddy. Lezione 17 di 33.

Una Map memorizza coppie: una chiave che cerchi e il valore associato, come una parola e il suo significato in un dizionario. Qui, ogni oggetto in un negozio di un gioco ha un prezzo:

Map<String, int> prices = {
  'Sword': 120,
  'Potion': 25,
};

prices['Sword']   // 120
prices['Axe']     // null: non c'è Axe

Map<String, int> indica che le chiavi sono stringhe e i valori sono interi. Cerca un valore usando la sua chiave tra parentesi quadre. Se la mappa non contiene una chiave, viene restituito null.

Aggiungi una coppia con prices['Bow'] = 150; oppure scrivila nella mappa. prices.keys contiene tutte le chiavi, nell'ordine in cui sono state aggiunte, pronte per un for.

challenge icon

Sfida

Facile

Il negozio elenca i suoi articoli, ma non i prezzi. Mostra i prezzi e aggiungi un altro articolo in magazzino:

  • mostra il prezzo di ogni articolo alla fine della sua riga, ad esempio 120 coins, cercandolo in prices
  • aggiungi un Bow da 150 monete alla mappa

Provalo tu

import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    final Map<String, int> prices = {
      'Sword': 120,
      'Shield': 90,
      'Potion': 25,
    };
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      home: Scaffold(
        appBar: AppBar(title: const Text('Shop')),
        body: ListView(
          children: [
            for (String item in prices.keys)
              ListTile(
                title: Text(item),
              ),
          ],
        ),
      ),
    );
  }
}
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Elenchi e schermate

Esercitati da solo: Compilatore Flutter online