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

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

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

Войти через TM ID
Похожие вопросы
12 дек. 2018, в 05:58
1000 руб./за проект
11 дек. 2018, в 21:41
500 руб./за проект
11 дек. 2018, в 20:00
600 руб./в час