Встречается на собеседованиях • сегодня
Какие знаешь методы реализации hashCode
В Java hashCode() должен возвращать целочисленное значение, основанное на внутреннем состоянии объекта. Основные подходы:
- Использование
Objects.hash()(Java 7+):
java
@Override
public int hashCode() {
return Objects.hash(field1, field2, field3);
}- Классический подход (Effective Java):
java
@Override
public int hashCode() {
int result = 17;
result = 31 * result + field1.hashCode();
result = 31 * result + field2.hashCode();
return result;
}- Генерация IDE (IntelliJ/Eclipse обычно используют 31-множитель)
Ключевые требования:
- Одинаковые объекты → одинаковый
hashCode - Разные объекты могут иметь одинаковый
hashCode(коллизии) - Желательно минимизировать коллизии
- При изменении состояния, изменяется
hashCode(для immutable объектов это неактуально)
Для примитивов можно использовать Double.hashCode(), Integer.hashCode() и т.д.

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