Menu
CoddyTech

Cari di Map

Termasuk bagian List dan Layar dalam perjalanan Flutter di Coddy. Pelajaran 17 dari 33.

Map menyimpan pasangan: key yang kamu cari dan nilai yang terkait dengannya, seperti kata dan artinya dalam kamus. Di sini, setiap barang di toko game memiliki harga:

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

prices['Sword']   // 120
prices['Axe']     // null: Axe tidak ada

Map<String, int> menyatakan bahwa key berupa string dan nilainya berupa int. Cari nilai menggunakan key-nya di dalam tanda kurung siku. Key yang tidak ada di map akan menghasilkan null.

Tambahkan pasangan dengan prices['Bow'] = 150;, atau tuliskan langsung di dalam map. prices.keys berisi semua key, sesuai urutan penambahannya, siap digunakan dalam for.

challenge icon

Tantangan

Mudah

Toko menampilkan barang-barangnya, tetapi tidak menampilkan harganya. Tampilkan harganya, dan tambahkan satu barang lagi ke stok:

  • tampilkan harga setiap barang di akhir barisnya, seperti 120 coins, yang diambil dari prices
  • tambahkan Bow seharga 150 koin ke map

Coba sendiri

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 iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di List dan Layar

Latihan sendiri: Compiler Flutter online