任何人都可以在java中为我提供构建树结构(可以有多个子元素)的链接。
答案 0 :(得分:1)
尝试使用这样的模型。
import java.util.ArrayList;
import java.util.List;
public class Employee {
private String id;
private Employee manager;
private List<Employee> directReports;
public Employee(String id){
this.id = id;
this.directReports = new ArrayList<Employee>();
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public Employee getManager() {
return manager;
}
public void setManager(Employee manager) {
this.manager = manager;
}
public List<Employee> getDirectReports() {
return directReports;
}
public void setDirectReports(List<Employee> directReports) {
this.directReports = directReports;
}
}
在这里你肯定需要经理字段,因为它给出了谁是经理
这个员工。 directReports 字段是可选的,您可以将其保留为
只有当你想将你的关系建模为双向关系时,即
如果您希望每个员工也知道哪些员工报告
对他/她(意思是这位员工是他/她直接下属的经理)。
现在根据你刚才建立正确的员工组的任何输入
对象并确保它们以正确的方式相互关联(使用
经理和 directReports 字段)。这就是我的建议。
还创建一些创建Employee实例的工厂类
(这个工厂类可以是Employee类本身)
在创建具有给定ID的员工之前,请确保您
首先查找是否存在。如果存在,只需重复使用
它而不是创建一个新的(因为你不想有两个或
更多具有相同ID的员工实例。)