Flutterのプログラミング言語(Dart言語)でMapの値を更新する方法を紹介します。
Mapの値を更新する3つの方法を紹介していきます。
目次
方法1:Map[Key] = NewValue
1つ目の方法は次のように「[]」を使用して値を更新する方法です。
Map[キー] = 新しい値;
Mapに指定したキーが存在する場合は値が更新され、キーが存在しない場合は新しい要素が追加されます。
var myMap = {'りんご': '赤', 'バナナ': '黄', 'グレープ': '紫'};
//キーが存在する場合
myMap['りんご'] = '黄緑';
print(myMap); //{りんご: 黄緑, バナナ: 黄, グレープ: 紫}
//キーが存在しない場合
myMap['マスカット'] = '黄緑';
print(myMap); // {りんご: 黄緑, バナナ: 黄, グレープ: 紫, マスカット: 黄緑}
方法2:update()で1つの要素を更新
Mapの1つの値のみ更新したい場合はupdateメソッドを使用します。
第一引数に更新したい値のキー、第二引数に新しい値を渡します。
Map.update(キー, (value) => 新しい値);
指定したキーが存在する場合は値が更新されますが、キーが存在しない場合は何も起きません。
var myMap = {'りんご': '赤', 'バナナ': '黄', 'グレープ': '紫'};
myMap.update('りんご', (value) => '黄緑');
print(myMap); //{りんご: 黄緑, バナナ: 黄, グレープ: 紫}
キーが存在しない場合に値を追加したい場合は「update()」の「ifAbsentプロパティ」を使用します。
myMap.update(
'マスカット',
(value) => '黄緑',
ifAbsent: () => 'New黄緑',
);
print(myMap); //{りんご: 黄緑, バナナ: 黄, グレープ: 紫, マスカット: New黄緑}
方法3:updateAll()で値を一括更新
Mapの値を一括で更新したい場合はupdateAllメソッドを使用します。
Map.updateAll((key, value) => 新しい値);
updateAllメソッドでは次のように一括で更新させたい処理を書きます。
var myMap = {'a': 'apple', 'b': 'banana', 'c': 'cherry'};
myMap.updateAll((key, value) => value.toUpperCase());
print(myMap); //{a: APPLE, b: BANANA, c: CHERRY}
以上です。
合わせて読みたい
【Flutter/Dart】dynamic修飾子|varとdynamicの違い
Flutterのプログラミング言語(Dart言語)における「dynamic修飾子」を紹介します。 「dynamic修飾子」は「var修飾子」のように変数を宣言する際に使用されます。本記事…
【Flutter/Dart】var修飾子|変数と宣言
Flutterのプログラミング言語(Dart言語)における「var修飾子」を紹介します。 「var」は変数を宣言する際の基本となる修飾子です。 【var修飾子の使い方】 var修飾子…