Map型とは
以下、公式より引用。
キーと値のペアのコレクション。関連付けられたキーを使用して値を取得します。
KeyとValueの組み合わせを、1つのオブジェクト内で管理することができ、Keyを基準にしてValueの取り出し、書き込みを自由に行うことができます。
Map型の宣言
他の変数の宣言と同様に、変数名の前にMap型を指定する必要があります。
Map型の場合、Keyの型とValueの型も一緒に宣言します。
final Map<String , dynamic> userData = { //Map < Keyの型 , Valueの型 >
"name" : "山田太郎",
"age" : 24,
};
KeyとValueというワードを使用していますが、Map型の要素で:(コロン)
の左にあたるところがKey、右側にあたるところがValueになります。
上記で宣言したMap型の変数は、<>の中で,(カンマ)
区切りでStringとdynamicを渡しました。
これによって、KeyがString型、Valueがdynamic型のMap型変数が定義されます。
Map型の呼び出し
実際に、上記で宣言したMap型の変数を呼び出してみましょう。
変数名[Key]
の形で、Valueを呼び出すことができます。
final Map<String , dynamic> userData = {
"name" : "山田太郎",
"age" : 24,
};
print(userData["name"]); // 山田太郎
print(userData["age"]); // 24
Map型のメソッド
List型などと同様に、Map型の変数に対してメソッドを繋げることで、変数の内容に変更を加えたり、データの確認などを行うことができます。
.addAll()
定義されているMap型の変数に、{Key : Value} を渡すことで、要素を追加することができます。
final Map<String, dynamic> userData = {
"name": "山田太郎",
"age": 24,
};
print(userData); // {name: 山田太郎, age: 24}
userData.addAll({"from": "東京", "height": 181, "weight": 70});
print(userData); // {name: 山田太郎, age: 24, from: 東京, height: 181, weight: 70}
.containsKey()
メソッドにわたしたKeyの存在確認を行い、結果のboolean型を返却してくれます。
final Map<String, dynamic> userData = {
"name": "山田太郎",
"age": 24,
"from": "東京",
"height": 181,
"weight": 70,
};
print(userData.containsKey("name")); // true
print(userData.containsKey("namae")); // false
その他メソッドについては、以下公式をご参照ください。