本篇文章为大家展示了java中怎么递归部门树,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
package com.ytx.demo.tree;
import java.util.ArrayList;
import java.util.List;
public class Department {
private int id;
private String name;
private int parentId;
private List<Department> children = new ArrayList<Department>();
public Department(int id, String name, int parentId) {
this.id = id;
this.name = name;
this.parentId = parentId;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getParentId() {
return parentId;
}
public void setParentId(int parentId) {
this.parentId = parentId;
}
public List<Department> getChildren() {
return children;
}
public void setChildren(List<Department> children) {
this.children = children;
}
}
package com.ytx.demo.tree;
import java.util.ArrayList;
import java.util.List;
public class DempartmentThree {
public static void main(String[] args) {
List<Department> departmentList = new ArrayList<>();
departmentList.add(new Department(1, "研发部门", 0));
departmentList.add(new Department(2, "研发团队1", 1));
departmentList.add(new Department(3, "研发团队2", 1));
departmentList.add(new Department(4, "财务部门", 0));
departmentList.add(new Department(5, "财务A部门", 4));
departmentList.add(new Department(6, "财务B部门", 4));
departmentList.add(new Department(7, "财务A部门团队1", 5));
departmentList.add(new Department(8, "财务A部门团队2", 5));
departmentList.add(new Department(9, "财务B部门团队1", 6));
departmentList.add(new Department(10, "财务B部门团队2", 6));
List<Department> listTree = getThree(departmentList,0);
System.out.println(listTree);
}
private static List<Department> getThree(List<Department> list,int parentId){
//获取所有子节点
List<Department> childTreeList = getChildTree(list,parentId);
for (Department dept:childTreeList) {
dept.setChildren(getThree(list,dept.getId()));
}
return childTreeList;
}
private static List<Department> getChildTree(List<Department> list,int id){
List<Department> childTree = new ArrayList<>();
for (Department dept:list) {
if(dept.getParentId() == id){
childTree.add(dept);
}
}
return childTree;
}
}
上述内容就是java中怎么递归部门树,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
原文链接:https://my.oschina.net/yuantangxi/blog/3104181