用java实现递归查询当前部门以及当前部门下的所有子部门数据
时间: 2024-03-11 17:46:53 浏览: 27
可以使用树形结构来表示部门及其子部门,然后使用递归来遍历整个树,获取当前部门及其子部门的数据。以下是一个使用Java实现的示例:
```java
public class Department {
private String name;
private List<Department> subDepartments;
// 构造函数和 getter/setter 方法省略
// 递归查询当前部门及其子部门数据
public void getAllData() {
System.out.println("当前部门:" + this.name);
if (this.subDepartments != null) {
for (Department subDepartment : this.subDepartments) {
subDepartment.getAllData(); // 递归查询子部门数据
}
}
}
}
```
使用示例:
```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));
// 查询总部及其子部门数据
root.getAllData();
```
输出:
```
当前部门:总部
当前部门:子部门1
当前部门:子子部门1
当前部门:子部门2
```