Назад к задачам
Junior — Senior
6

Почему HashSet не распознаёт уже добавленный объект

Компании, где спрашивали:

СБЕРСБЕР
Получайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Условие задачи

В примере создаётся экземпляр класса Person, который помещается в HashSet, однако вызов метода contains() для того же объекта возвращает false. Что может быть причиной такого поведения?

public void personTask() {}
    Set<Person> people = new HashSet<>();
    Person person = new Person("Петров", "Петр", "Петрович");
    people.add(person);
    people.contains(person); // returns false

@Data
@AllArgsConstructor
private static class Person {
    private String firstName;
    private String lastName;
    private String middleName;
}