Встречается на собеседованиях • сегодня
Может ли быть одинаковое значение hashCode у двух разных по equals объектов
Да, может. В Java hashCode() может возвращать одинаковые значения для разных объектов, даже если они не равны по equals(). Это называется коллизией.
Пример:
java
String s1 = "Aa";
String s2 = "BB";
System.out.println(s1.hashCode()); // 2112
System.out.println(s2.hashCode()); // 2112
System.out.println(s1.equals(s2)); // falseВажно:
- Коллизии допустимы, но нежелательны (снижают производительность хеш-таблиц).
- Если
equals()вернетtrue, тоhashCode()обязан быть одинаковым (обратное неверно). - Хорошая хеш-функция минимизирует коллизии.

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