Menu
CoddyTech

Map에서 값 찾기

Coddy Flutter 여정의 목록과 화면 섹션에 포함된 레슨. 33개 중 17번째.

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

챌린지

쉬움

상점에 상품이 나열되어 있지만 가격은 표시되지 않습니다. 가격을 표시하고 상품을 하나 더 추가하세요:

  • 각 행의 끝에 120 coins와 같이 prices에서 찾아온 상품 가격을 표시하세요
  • 지도에 150코인의 Bow를 추가하세요

직접 해보기

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 컴파일러