Примерно так:
public class Manager {
private List<Employee> reports = new ArrayList<Employee>();
public void addReport(Employee e) {
if (e != null) {
this.reports.add(e);
e.setManager(this);
}
}
}
public class Employee {
private Manager manager;
public void setManager(Manager m) {
if (m != null) {
this.manager = m;
}
}
}
На всякий случай, если неясно, вам следует добавить все остальные методы, которые вам нужны.Я только продемонстрировал, как обновить ссылку Manager
в Employee
, когда она добавляется к List
прямых отчетов.
У вас также должен быть метод removeReport
, который удаляет Employee
изList
и устанавливает Manager
на null
.
Как вы собираетесь найти Employee
в этом List
?По имени?Идентификатор сотрудника?Подсказка: подумайте о правильном переопределении equals
и hashCode
для ваших классов.
Не Managers
также Employees
?У боссов нет боссов?Это иерархия, дерево.