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'è AxeMap<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.
Sfida
FacileIl 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 inprices - aggiungi un
Bowda150monete 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),
),
],
),
),
);
}
}
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