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

Что такое коллизия у hashCode

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

Пример:

java
String s1 = "Aa"; // hashCode: 2112
String s2 = "BB"; // hashCode: 2112
System.out.println(s1.hashCode() == s2.hashCode()); // true

Коллизии не ломают работу HashMap/HashSet, так как они используют equals() для проверки реального равенства объектов. Однако частые коллизии ухудшают производительность, превращая O(1) операции в O(n) (в случае цепочек в buckets).

Хорошая реализация hashCode() должна минимизировать коллизии, равномерно распределяя значения.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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