Sobes.tech
Junior — Middle
152

Wat gebeurt er als je een sleutel invoegt in HashMap met dezelfde hashCode en gelijk aan equals?

Bedrijven waar gevraagd werd
ГазпромбанкГазпромбанк

Antwoord van AI

sobes.tech AI

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

HashMap использует hashCode для быстрого поиска корзины (bucket), а затем сравнивает ключи с помощью equals, чтобы определить, является ли ключ уже существующим.

Пример:

Map<String, String> map = new HashMap<>();
map.put("key1", "value1");
map.put("key1", "value2"); // тот же ключ, обновит значение
System.out.println(map.get("key1")); // выведет "value2"

Если hashCode совпадает, но equals возвращает false, то в одной корзине будут храниться разные ключи (коллизия), и HashMap корректно их различит.