Sobes.tech
Middle

Kas notiks, ja mēģināsiet pievienot HashMap pāri, kur vērtība ir null, un šāds pāris jau pastāv, un hashCode ir fiksēts un equals atgriež true?

sobes.tech AI

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