Как ведет себя программа на Java, если в HashSet находятся несколько РАЗНЫХ объектов с одинаковым HashCode?
Будут добавлены в один бакет, а извлекаться будут перебором бакета с вызовом метода equals для каждого элемента.
Зависит от того как для них отработает equals().
Собственно если equals() будет возвращаться true, то они просто изначально не добавятся в Set.
Если же они все-таки добавлены, то будут лежать в одной ячейке, которая будет итерироваться при извлечении.