Dart Mapを一括で更新する

Dart Mapを一括で更新する

Dartで、Mapを一括で更新するコードを記述してます。「updateAll」メソッドを使用して更新したい値を指定することで可能です。条件を指定して更新することも可能です。

環境

  • OS windows11 home
  • Dart 2.18.4

一括で更新する

Mapを一括で更新するには
1. 「updateAll」で変更したい値を指定
することで可能です。

Map.updateAll((key, value) => 値);

実際に、使用して追加してみます。

void main() {
  var map = <int, String>{
    1: 'one',
    2: 'two',
    3: 'three',
  };

  map.updateAll((int key, String value) => value = 'number');

  print(map); // {1: number, 2: number, 3: number}
}

実行結果を見ると、更新されていることが確認できます。

条件を指定することも可能です。

void main() {
  var map = <int, String>{
    1: 'one',
    2: 'two',
    3: 'three',
  };

  map.updateAll((int key, String value) {
    if (key.isEven) {
      return 'Even';
    }
    return 'Odd';
  });

  print(map); // {1: Odd, 2: Even, 3: Odd}
}

空のMapに実行

空のMapに実行した場合は、空のMapが返ります。

void main() {
  var map = <int, String>{};

  map.updateAll((int key, String value) => value = 'number');

  print(map); // {}
}

キーを指定

キーを指定して値を更新する場合は「update」を使用します。

void main() {
  var map = <int, String>{
    1: 'one',
    2: 'two',
    3: 'three',
  };

  map.update(1, (v) => 'foo');
  map.update(2, (v) => 'hoge');

  print(map); // {1: foo, 2: hoge, 3: three}
}