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