Menu
CoddyTech

Busque em um Map

Parte da seção Listas e telas do Journey de Flutter da Coddy. Lição 17 de 33.

Um Map armazena pares: uma chave que você consulta e o valor associado a ela, como uma palavra e seu significado em um dicionário. Aqui, cada item de uma loja de jogos tem um preço:

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

prices['Sword']   // 120
prices['Axe']     // null: não existe Axe

Map<String, int> indica que as chaves são strings e os valores são ints. Consulte um valor usando sua chave entre colchetes. Uma chave que o mapa não possui retorna null.

Adicione um par com prices['Bow'] = 150; ou escreva-o no mapa. prices.keys contém todas as chaves, na ordem em que foram adicionadas, prontas para usar em um for.

challenge icon

Desafio

Fácil

A loja lista seus itens, mas não os preços. Mostre os preços e adicione mais um item ao estoque:

  • mostre o preço de cada item no final da linha, como 120 coins, consultado em prices
  • adicione um Bow por 150 moedas ao mapa

Experimente você mesmo

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 seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Listas e telas

Pratique por conta própria: Compilador de Flutter online