In einer Map nachschlagen
Teil des Abschnitts Listen und Bildschirme der Flutter-Journey von Coddy. Lektion 17 von 33.
Eine Map speichert Paare: einen Schlüssel, nach dem du suchst, und den dazugehörigen Wert, wie ein Wort und seine Bedeutung in einem Wörterbuch. Hier hat jeder Artikel in einem Spieleshop einen Preis:
Map<String, int> prices = {
'Sword': 120,
'Potion': 25,
};
prices['Sword'] // 120
prices['Axe'] // null: Es gibt keine AxeMap<String, int> besagt, dass die Schlüssel Zeichenfolgen und die Werte ints sind. Suche einen Wert über seinen Schlüssel in eckigen Klammern. Ein Schlüssel, den die Map nicht enthält, ergibt null.
Füge ein Paar mit prices['Bow'] = 150; hinzu oder schreibe es in die Map. prices.keys enthält alle Schlüssel in der Reihenfolge, in der sie hinzugefügt wurden, bereit für eine for-Schleife.
Aufgabe
EinfachDer Shop listet seine Gegenstände auf, aber keine Preise. Zeige die Preise an und füge einen weiteren Gegenstand zum Bestand hinzu:
- Zeige den Preis jedes Gegenstands am Ende seiner Zeile an, zum Beispiel
120 coins, nachgeschlagen inprices - Füge der Zuordnung einen
Bowfür150Münzen hinzu
Probier es selbst
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),
),
],
),
),
);
}
}
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Listen und Bildschirme
1Scrollbare Listen
Eine scrollbare ListeListenelementeVorne und hintenEin Listenelement antippenTrennlinien zwischen Zeilen4Deine eigenen Klassen
Eine Klasse für deine DatenBenannte und erforderliche ParameterFelder, die leer sein könnenWidgets aus Daten mit mapEine Liste mit where filternIn einer Map nachschlagenÜbe selbstständig: Online-Flutter-Compiler