Menu
CoddyTech

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 Axe

Map<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.

challenge icon

Aufgabe

Einfach

Der 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 in prices
  • Füge der Zuordnung einen Bow für 150 Mü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),
              ),
          ],
        ),
      ),
    );
  }
}
quiz iconTeste dich selbst

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

Übe selbstständig: Online-Flutter-Compiler