Middle
O que acontece se tentar adicionar um par chave-valor ao HashMap, onde o valor é null, e esse par já existe, e hashCode é fixo e equals retorna true?
sobes.tech IA
Resposta da IA
Se no HashMap já existir um par com uma chave cujo hashCode é fixo e equals devolve true, ao adicionar um novo par com a mesma chave e valor null, o valor antigo será substituído por null. Ou seja, o valor associado a essa chave será atualizado para null.
Exemplo:
Map<Key, String> map = new HashMap<>();
Key key = new Key(); // hashCode e equals implementados de forma que sejam sempre iguais
map.put(key, "value");
map.put(key, null); // substituirá "value" por null
System.out.println(map.get(key)); // exibirá null
Assim, o HashMap não impede de armazenar null como valor, e ao adicionar novamente com a mesma chave, o valor é atualizado.