查询当前部门下所有子部门的数量
时间: 2024-01-01 16:06:41 浏览: 30
同样可以使用递归来实现查询当前部门下所有子部门的数量。在递归过程中,每遍历到一个子部门,就将其子部门数量累加到总数中。以下是一个使用Java实现的示例:
```java
public class Department {
private String name;
private List<Department> subDepartments;
// 构造函数和 getter/setter 方法省略
// 递归查询当前部门及其子部门数量
public int getSubDepartmentCount() {
int count = 0;
if (this.subDepartments != null) {
count += this.subDepartments.size(); // 加上当前部门的直接子部门数量
for (Department subDepartment : this.subDepartments) {
count += subDepartment.getSubDepartmentCount(); // 递归查询子部门数量
}
}
return count;
}
}
```
使用示例:
```java
// 创建部门树
Department root = new Department("总部");
Department subDepartment1 = new Department("子部门1");
Department subDepartment2 = new Department("子部门2");
root.setSubDepartments(Arrays.asList(subDepartment1, subDepartment2));
Department subSubDepartment1 = new Department("子子部门1");
subDepartment1.setSubDepartments(Collections.singletonList(subSubDepartment1));
// 查询总部下所有子部门的数量
int count = root.getSubDepartmentCount();
System.out.println("总部下子部门的数量:" + count);
```
输出:
```
总部下子部门的数量:3
```