РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
309 of 723 menu

Метод putIfAbsent

Метод putIfAbsent класса Map добавляет новую пару ключ-значение в словарь, но только в том случае, если указанного ключа в словаре еще нет. Если ключ уже существует, метод возвращает текущее значение и не изменяет словарь. В первый параметр мы передаем ключ, который нужно проверить или добавить. Во второй параметр передаем функцию, которая возвращает значение для добавления, если ключ отсутствует.

Синтаксис

map.putIfAbsent(key, ifAbsent)

Пример

Давайте добавим новую пару в словарь, если ключа 'c' в нем еще нет:

void main() { Map<String, int> map = {'a': 1, 'b': 2}; map.putIfAbsent('c', () => 3); print(map); }

Результат выполнения кода:

{a: 1, b: 2, c: 3}

Пример

Давайте попробуем добавить пару с ключом 'a', который уже существует в словаре:

void main() { Map<String, int> map = {'a': 1, 'b': 2}; int res = map.putIfAbsent('a', () => 100); print(res); print(map); }

Результат выполнения кода:

1 {a: 1, b: 2}

Как видите, значение ключа 'a' не изменилось на 100, а метод вернул текущее значение 1.

Пример

Давайте заполним словарь значениями по умолчанию для нескольких отсутствующих ключей:

void main() { Map<String, int> map = {'a': 1}; map.putIfAbsent('b', () => 2); map.putIfAbsent('c', () => 3); map.putIfAbsent('d', () => 4); print(map); }

Результат выполнения кода:

{a: 1, b: 2, c: 3, d: 4}

Смотрите также

  • класс Map,
    который представляет собой словарь
  • метод update,
    который обновляет значение по ключу
  • метод containsKey,
    который проверяет наличие ключа
  • метод addAll,
    который добавляет все пары из другого словаря
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить