前端发给后端一个请求,后端一个方法返回一个树状结构的代码如何写
时间: 2024-01-31 10:04:45 浏览: 147
JAVA后台转换成树结构数据返回给前端的实现方法
5星 · 资源好评率100%
下面是一个Java实现的返回树状结构的代码示例:
```java
// 假设有一个Department类,包含id、name和parentId属性
// 定义返回树状结构的方法
public List<Department> getDepartmentTree() {
// 查询所有部门
List<Department> departments = departmentDao.findAll();
// 使用Map存储所有部门,以id为键
Map<Long, Department> departmentMap = new HashMap<>();
for (Department department : departments) {
departmentMap.put(department.getId(), department);
}
// 构建树状结构
List<Department> rootDepartments = new ArrayList<>();
for (Department department : departments) {
if (department.getParentId() == null) {
// 根节点
rootDepartments.add(department);
} else {
// 非根节点
Department parent = departmentMap.get(department.getParentId());
if (parent != null) {
parent.addChild(department);
}
}
}
return rootDepartments;
}
```
上述代码中使用Map存储所有部门,以id为键,便于后续查找某个部门的父节点。然后遍历所有部门,将根节点和非根节点分别存储在不同的集合中。对于非根节点,通过其parentId属性查找其父节点,然后将其添加到父节点的子节点列表中。最后返回所有根节点,即构建好的树状结构。
在前端发起请求时,调用该方法即可返回树状结构的数据。前端可以使用递归或者循环遍历树形结构,来展示树状结构的数据。
阅读全文