Sobes.tech
Middle

Wat gebeurt er als je probeert een sleutel-waarde paar toe te voegen aan HashMap, waarbij de waarde null is, en dat paar al bestaat, en hashCode vast is en equals true retourneert?

sobes.tech AI

Antwoord van 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 в качестве значения, и при повторном добавлении с тем же ключом значение обновляется.