Sobes.tech
Back to questions
Middle
51

Что случится, если попытаться добавить в HashMap пару ключ-значение, где значение равно null, при этом такая пара уже существует, а hashCode фиксирован и equals возвращает true?

Companies where asked
Ifellow

Answer from AI

sobes.tech AI

Если в HashMap уже есть пара с ключом, для которого hashCode фиксирован и equals возвращает true, то при добавлении новой пары с тем же ключом и значением null произойдет замена старого значения на null. То есть, значение, связанное с этим ключом, обновится на null.

Пример:

Map<Key, String> map = new HashMap<>();
Key key = new Key(); // hashCode и equals реализованы так, что всегда одинаковы
map.put(key, "value");
map.put(key, null); // заменит "value" на null
System.out.println(map.get(key)); // выведет null

Таким образом, HashMap не запрещает хранить null в качестве значения, и при повторном добавлении с тем же ключом значение обновляется.