Метод 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,
который проверяет наличие ключа