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

Гарантирует ли hashCode уникальность элементов

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

Пример:

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

Однако, по контракту equals() и hashCode():

  • Если equals() возвращает true, hashCode() должен быть одинаковым.
  • Обратное неверно: одинаковый hashCode не означает равенство объектов.

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

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

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

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

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