Вы можете создать статический String HashSet, добавив объединенное имя, пол к нему.
class YourClass {
public static Set<String> studentSet = new HashSet<>();
public static void addStudent(String name, String gender) {
YourClass.studentSet.add(name + "," + gender);
}
public static Boolean studentExists(String name, String gender) {
return YourClass.studentSet.constains(name + "," + gender);
}
Таким образом, данные в вашем HashSet будут выглядеть как Том, мужчина, Том, женщина, Джон, мужчина.
class Student {
...
public Student(String name, String gender) {
this.name = name;
this.gender = gender;
YourClass.addStudent(name, gender);
}
}
И при создании экземпляра Student вы можете проверитьHashSet, если в нем нет имени, пола, а затем создать экземпляр и объект.
if(!YourClass.studentExists(name, gender)) {
Student student = new Student(name, gender);
}
Надеюсь, это решит вашу проблему