首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >构建Java树

问构建Java树
EN

Stack Overflow用户
提问于 2013-12-29 22:46:33
回答 1查看 537关注 0票数 0

谁能给我提供一个链接,在java中构建一个树形结构(可以有多个子节点)。

EN

回答 1

Stack Overflow用户

发布于 2013-12-29 23:17:57

尝试使用这样的模型。

代码语言:javascript
复制
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的更多Employee实例)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20826326

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档