Метод update
Метод update обновляет значение для указанного
ключа в Map. В первый параметр мы передаем ключ,
значение которого нужно обновить. Во второй параметр
мы передаем функцию, которая принимает текущее значение
и возвращает новое. Если ключ не найден, метод выбросит
исключение, если не указан третий параметр - функция
ifAbsent, которая создает новое значение.
Синтаксис
map.update(key, (value) => newValue, [ifAbsent])
Пример
Давайте обновим значение для ключа 'b',
увеличив его на единицу:
void main()
{
Map<String, int> map = {'a': 1, 'b': 2, 'c': 3};
map.update('b', (value) => value + 1);
print(map);
}
Результат выполнения кода:
{a: 1, b: 3, c: 3}
Пример
Давайте попробуем обновить значение для ключа 'd',
которого нет в Map, и укажем функцию ifAbsent,
чтобы создать новое значение:
void main()
{
Map<String, int> map = {'a': 1, 'b': 2, 'c': 3};
map.update('d', (value) => value + 1, ifAbsent: () => 4);
print(map);
}
Результат выполнения кода:
{a: 1, b: 2, c: 3, d: 4}
Пример
Давайте обновим все значения в Map, умножив каждое на 2:
void main()
{
Map<String, int> map = {'a': 1, 'b': 2, 'c': 3};
map.updateAll((key, value) => value * 2);
print(map);
}
Результат выполнения кода:
{a: 2, b: 4, c: 6}
Смотрите также
-
метод
updateAll,
который обновляет все значения в Map -
метод
putIfAbsent,
который добавляет значение, если ключа нет -
метод
containsKey,
который проверяет наличие ключа -
класс
Map,
который представляет собой коллекцию пар ключ-значение