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

Метод putIfAbsent

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

Синтаксис

map.putIfAbsent(key, value)

Пример

Давайте добавим в отображение новую пару, ключа которой ещё нет:

import java.util.Map; import java.util.HashMap; public class Main { public static void main(String[] args) { Map<String, Integer> map = new HashMap<>(); map.put("a", 1); Integer res = map.putIfAbsent("b", 2); System.out.println(res); System.out.println(map); } }

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

null {a=1, b=2}

Пример

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

import java.util.Map; import java.util.HashMap; public class Main { public static void main(String[] args) { Map<String, Integer> map = new HashMap<>(); map.put("a", 1); Integer res = map.putIfAbsent("a", 2); System.out.println(res); System.out.println(map); } }

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

1 {a=1}

Пример

Давайте добавим пару с ключом, который связан со значением null:

import java.util.Map; import java.util.HashMap; public class Main { public static void main(String[] args) { Map<String, Integer> map = new HashMap<>(); map.put("a", null); Integer res = map.putIfAbsent("a", 5); System.out.println(res); System.out.println(map); } }

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

null {a=5}

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

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