【编程】给定一个部门,变量出当前部门的所有父部门包含当前部门
给定一个部门,输出当前部门的所有父部门及其自己。如下图:分析:1:如果直接就是一级部门,直接返回;2:如果不是一级部门,就递归查询。同样需要注意去重代码:public class AllParentDepartment { public static void main(String[]&nb
给定一个部门,输出当前部门的所有父部门及其自己。如下图:

分析:
1:如果直接就是一级部门,直接返回;
2:如果不是一级部门,就递归查询。同样需要注意去重
代码:
public class AllParentDepartment {
public static void main(String[] args) {
AllParentDepartment allDepartment = new AllParentDepartment();
List<Department> list = allDepartment.initDepartment();
Department d1 = new Department();
d1.setParentId(7);
d1.setId(10);
d1.setName("高级Java");
List<Department> myParentList = allDepartment.getMyAllParentDepartmentList(d1, list);
myParentList.forEach(System.out::println);
}
private List<Department> getMyAllParentDepartmentList(Department d1, List<Department> list) {
List<Department> result = new ArrayList<>();
Integer parentId = d1.getParentId();
result.add(d1);
if (0 == parentId) {
return result;
}
doMyAllParentDepartmentList(d1, list, result);
return result;
}
private void doMyAllParentDepartmentList(Department d1, List<Department> list, List<Department> result) {
Integer pare原创不易,完成人机校验,阅读全文