Встречается на собеседованиях • сегодня

Что такое коллизия в hashCode вне контекста Map

Коллизия в hashCode возникает, когда два разных объекта возвращают одинаковый хэш-код. Хотя контракт hashCode() допускает коллизии (объекты могут быть неравны, но иметь одинаковый хэш), это может снижать производительность в хэш-структурах.

Пример:

java
String s1 = "Aa"; // хэш: 2112
String s2 = "BB"; // хэш: 2112
System.out.println(s1.hashCode() == s2.hashCode()); // true, но s1 != s2

Последствия:

  • В HashMap/HashSet коллизии приводят к превращению бакетов в связные списки (или деревья в Java 8+), что замедляет поиск с O(1) до O(n) в худшем случае.
  • Хорошая хэш-функция минимизирует коллизии, равномерно распределяя объекты по бакетам.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы