Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
310 of 724 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 для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить