🗺️

【Flutter/Dart】Map型のチートシート

2022/03/29に公開

1. Map型とは

  • キーと値のペアのコレクション。
  • 関連付けられたキーを使用して値を取得します。

https://api.dart.dev/stable/2.15.1/dart-core/Map-class.html

2. 基本的な使い方

まずは、Map型の変数を宣言します。
Mapの型を設定する場合、Map<キーの型, 値の型>で設定する必要があります。
今回は、キーが名前で値が点数になっています。

// 生徒の数学の点数をまとめたMap型の変数
Map<String, int> mathScores = {
  'John' : 80,
  'Mary' : 60,
}

次に、値を取り出してみよう。

mathScores['John'];  // 80

最後に、値を追加してみよう。

mathScores['Jenny'] = 100;

3. チートシート(よく使うプロパティ/メソッド一覧)

カテゴリ プロパティ名 / メソッド名
マップにキーと値のペアがないかどうか isEmpty
マップ内のキーと値のペアの数 length
MapとMapを結合する addAll(void)
指定したkeyにおけるkey・valueの組み合わせを削除する remove(key)
keyが存在するか確認する containsKey(key)
Mapの値を順番に取り出して処理する forEach(void)

3.1. マップにキーと値のペアがないかどうか(isEmpty)

mathScores.isEmpty; // false JohnとMaryとJennyの点数が入っているので空ではない

3.2. マップ内のキーと値のペアの数(length)

mathScores.length; // 3

3.3. MapとMapを結合する(addAll(void))

// ChadとAnthonyの数学の点数を結合する
mathScores.addAll(
  {
    'Chad': 0,
    'Anthony': 10,
  }
);

3.4. keyが存在するか確認する(containsKey(void))

mathScores.containsKey('John'); // true
mathScores.containsKey('Naoki'); //false

3.5. Mapの値を順番に取り出して処理する(forEach(void))

mathScores.forEach((key, value) {
  // ここに処理を書く
  print('$key : $value);
});

Discussion