构建Java树

时间:2013-12-29 14:46:33

标签: java tree

任何人都可以在java中为我提供构建树结构(可以有多个子元素)的链接。

1 个答案:

答案 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的员工实例。)