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で使えます。
チャレンジ
簡単店には商品が表示されていますが、価格は表示されていません。価格を表示し、商品をもう1つ追加してください。
- 各商品の価格を行の末尾に表示します(例:
120 coins)。価格はpricesから取得します。 Bowを150coinsでマップに追加します。
自分で試してみよう
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),
),
],
),
),
);
}
}
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
リストと画面のすべてのレッスン
自分で練習してみよう: Flutterオンラインコンパイラ