Sobes.tech
Junior — Middle
143

Was passiert, wenn man in eine HashMap einen Schlüssel einfügt, der den gleichen hashCode hat und gleich equals ist?

Unternehmen wurden gefragt
ГазпромбанкГазпромбанк

Antwort von AI

sobes.tech KI

Если в 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 корректно их различит.