Menu
CoddyTech

Mapを検索する

CoddyのFlutterジャーニー「リストと画面」セクションの一部。レッスン 17/33。

Mapはペアを格納します。調べるためのキーと、それに対応する値です。辞書の単語とその意味のようなものです。ここでは、ゲームショップの各アイテムに価格が設定されています。

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

prices['Sword']   // 120
prices['Axe']     // null: Axe は存在しない

Map<String, int>は、キーが文字列で、値が整数であることを示します。角括弧内にキーを指定して値を調べます。マップにないキーを指定すると、nullが返されます。

prices['Bow'] = 150;でペアを追加するか、マップに直接書き込みます。prices.keysは追加された順のすべてのキーで、forで使えます。

challenge icon

チャレンジ

簡単

店には商品が表示されていますが、価格は表示されていません。価格を表示し、商品をもう1つ追加してください。

  • 各商品の価格を行の末尾に表示します(例:120 coins)。価格はpricesから取得します。
  • Bowを150 coinsでマップに追加します。

自分で試してみよう

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 icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

リストと画面のすべてのレッスン

自分で練習してみよう: Flutterオンラインコンパイラ