У меня есть пользовательский объект:
Класс (id, код, название, номерOfECTSPoints, руководитель, преподаватель, учащийся, набор учеников)
Я создаю экземпляр этого пользовательского объекта с именем class1 и использую предварительно созданный HashSet для подачи в его конструктор. После того, как я это сделаю и очищу HashSet, который использовался для создания объекта, HashSet внутри объекта также будет очищен.
Set<Student> setStudents= new HashSet<Student>(); // this was fed with some Student objects
Class class1 = new Class(id, code, title, numberOfECTSPoints, headProfessor, attendingStudentsSet);
System.out.println(setStudents.size()); // 5
System.out.println(class1.getAttendingStudentsSet().size()); // 5
setStudents.clear();
System.out.println(setStudents.size()); // 0
System.out.println(class1.getAttendingStudentsSet().size()); // 0
Я ожидал, что набор внутри созданного объекта останется нетронутым, очистив набор, который использовался для подачи в конструктор объекта.