千家信息网

java中怎么递归部门树

发表于:2025-01-28 作者:千家信息网编辑
千家信息网最后更新 2025年01月28日,本篇文章为大家展示了java中怎么递归部门树,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。部门对象package com.ytx.demo.tree;impo
千家信息网最后更新 2025年01月28日java中怎么递归部门树

本篇文章为大家展示了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 children = new ArrayList();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 getChildren() {    return children;}public void setChildren(List 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 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 listTree = getThree(departmentList,0);    System.out.println(listTree);}private static List getThree(List list,int parentId){    //获取所有子节点    List childTreeList = getChildTree(list,parentId);    for (Department dept:childTreeList) {        dept.setChildren(getThree(list,dept.getId()));    }    return childTreeList;}private static List getChildTree(List list,int id){    List childTree = new ArrayList<>();    for (Department dept:list) {        if(dept.getParentId() == id){            childTree.add(dept);        }    }    return childTree;}}

上述内容就是java中怎么递归部门树,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。

0