/**
*
* @param deptList 所有部门集合
* @return
*/
private static Department getTree(List<Department> deptList) {
String myId = "1";//我的部门id
Department newDept = new Department("1", "总理部", "");//我的部门对象
newDept.setNext(getChild(myId,deptList));
return newDept;
}
//通过部门id获取所有子部门
private static List<Department> getChild(String id,List<Department> deptList) {
List<Department> departmentList = new ArrayList<>();
for (Department department : deptList) {//获取当前部门的所有子部门
if (id.equals(department.getPid())) {
departmentList.add(department);
}
}
for(Department department:departmentList){//对当前所有子部门进行遍历
department.setNext(getChild(department.getDid(),deptList));//设置当前部门的子部门
}
if(departmentList==null){//递归结束条件 当前部门没有子部门
return null;
}
return departmentList;
}
}
public class Department {
private String did;
private String dName;
private String pid;
List<Department> next;
}