39. Что будет, если переопределить equals() не переопределяя hashCode()? Проблемы?
UNKNOWNКлассы и методы, которые используют правила этого контракта могут работать некорректно.
Так для HashMap это может привести к тому, что пара «ключ-значение», которая была в нее помещена при использовании нового экземпляра ключа не будет в ней найдена. В HashSet при добавлении объект сначала сравнивается хэш добавляемого и существующие (быстрая проверка очень экономит время), если хэш разный – то дальше сравнивается по equals.
Предыдущий вопрос: 38. Правила переопределения equals()
Следующий вопрос: 40. Какой контракт между hashCode() и equals()?
Все вопросы по теме: список
Все темы: список
Вопросы/замечания/предложения/нашли ошибку: напишите мне