// 扁平List转树形List
private List<DepartmentMc> buildTreeList(List<DepartmentMc> flatList) {
Map<String, DepartmentMc> nodeMap = new HashMap<>();
List<DepartmentMc> treeList = new ArrayList<>();
for (DepartmentMc node : flatList) {
nodeMap.put(node.getId(), node);//存入节点的ID
if (node.getPID().equals("0")) {//存入父节点
node.setPCode("0");
treeList.add(node);
} else {
DepartmentMc parent = nodeMap.get(node.getPID());//找到这个节点的父ID
if (parent == null) {//父节点还没存进来
parent = flatList.stream().filter(d -> d.getId().equals(node.getPID())).findFirst().orElse(new DepartmentMc());
nodeMap.put(node.getPID(), parent);
}
if (parent.getChildren() == null)
parent.setChildren(new ArrayList<>());
node.setPCode(QQVer.testPara(parent.getCode()) ? "" : parent.getCode());
parent.getChildren().add(node);
}
}
return treeList;
}
扁平List转树形List
最新推荐文章于 2024-07-25 13:40:37 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)