Встречается на собеседованиях • сегодня
Почему для коллекций нужен hashCode объектов
Хэш-код необходим для эффективной работы коллекций, основанных на хэшировании (HashSet, HashMap, HashTable). Он позволяет быстро находить объекты в коллекции, сокращая количество сравнений.
Основные причины:
- Быстрый поиск - хэш-код используется для определения "корзины" (bucket), где может находиться объект
- Контракт с equals() - если два объекта равны (equals() возвращает true), их хэш-коды должны быть одинаковыми
- Производительность - правильная реализация hashCode() уменьшает коллизии и ускоряет операции
Пример плохой реализации:
java
@Override
public int hashCode() {
return 1; // Все объекты попадут в одну корзину
}Хорошая реализация (например, для класса Person):
java
@Override
public int hashCode() {
return Objects.hash(name, age);
}Важно: при изменении полей, участвующих в equals(), должен меняться и hashCode(), иначе объект может потеряться в HashSet/HashMap.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы