Встречается на собеседованиях • сегодня
Как называются принципы условия контракта hashCode в Java
Основные принципы контракта hashCode() в Java:
- Консистентность: Если объект не изменялся,
hashCode()должен возвращать одно и то же значение при многократных вызовах. - Равенство объектов: Если
a.equals(b) == true, тоa.hashCode() == b.hashCode(). - Обратное необязательно: Если хэш-коды равны, объекты не обязательно равны (коллизии допустимы).
Пример нарушения контракта:
java
class BadHash {
int value;
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof BadHash)) return false;
return value == ((BadHash) o).value;
}
// Нарушение: hashCode не согласован с equals
@Override
public int hashCode() {
return 42; // Все объекты имеют одинаковый хэш
}
}Нарушение контракта может привести к проблемам в HashSet, HashMap и других хэш-коллекциях.

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