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

Совпадают ли hashCode() у элементов, равных по equals()

Согласно контракту методов equals() и hashCode() в Java, если два объекта равны по equals(), то их hashCode() должен быть одинаковым. Обратное не обязательно — разные объекты могут иметь одинаковый хэш-код (коллизия).

Пример:

java
String a = "test";
String b = new String("test");
System.out.println(a.equals(b)); // true
System.out.println(a.hashCode() == b.hashCode()); // true

Нарушение этого контракта может привести к некорректной работе коллекций, например HashMap или HashSet, так как они используют хэш-код для быстрого поиска элементов.

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

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

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

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