Как ведет себя программа на Java, если в HashSet находятся несколько РАЗНЫХ объектов с одинаковым HashCode?

Проводятся ли какие-то дополнительные проверки между такими объектами?
Каков алгоритм работы при подобных коллизиях?
  • Вопрос задан
  • 369 просмотров
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Java
Седой и строгий
Будут добавлены в один бакет, а извлекаться будут перебором бакета с вызовом метода equals для каждого элемента.
how+hashmap+works+internally+in+java+.pn
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Cheypnow
Зависит от того как для них отработает equals().
Собственно если equals() будет возвращаться true, то они просто изначально не добавятся в Set.
Если же они все-таки добавлены, то будут лежать в одной ячейке, которая будет итерироваться при извлечении.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы