Метод putIfAbsent() интерфейса Map
public class PutIfAbsent {
public static void main(String[] args) {
Map<String, String> map = new HashMap<>();
System.out.println("prev value - " + map.putIfAbsent("hello", null)); // prev value - null
System.out.println("prev value - " + map.putIfAbsent("hello", "world")); // prev value - null
System.out.println("prev value - " + map.putIfAbsent("hello", "мир")); // prev value - world
System.out.println(map); // {hello=world}
}
}
Если указанный ключ еще не связан со значением (или сопоставлен со значением null), он связывает его с заданным значением и возвращает значение null, в противном случае возвращается текущее значение.
default V putIfAbsent(K key, V value) {
V v = get(key);
if (v == null) {
v = put(key, value);
}
return v;
}
Параметры:
key – ключ, с которым должно быть связано указанное значение. value – значение, которое должно быть связано с указанным ключом.
Возврат:
предыдущее значение, связанное с указанным ключом, или значение null, если для ключа не было сопоставления. Возврат null может также указывать на то, что мапа ранее ассоциировала с ключом значение null, если реализация поддерживает значения null.