具有上下级关系的列表转化成树
public static List<TreeData> formatTree(List<TreeData> list) {
List<TreeData> nodeList = new ArrayList();
Iterator<TreeData> var2 = list.iterator();
while (var2.hasNext()) {
TreeData treeData1 = var2.next();
//是否有父节点
boolean flag = false;
Iterator<TreeData> var5 = list.iterator();
while (var5.hasNext()) {
TreeData treeData2 = var5.next();
if (StringUtils.isNotEmpty(treeData1.getParentId()) && treeData1.getParentId().equals(treeData2.getId())) {
//treeData2是个父节点
flag = true;
if (treeData2.getChildList() == null) {
treeData2.setChildList(new ArrayList());
}
treeData2.getChildList().add(treeData1);
break;
}
}
if (!flag) {
//没有父节点,本身是个父节点
if (treeData1.getChildList() == null) {
treeData1.setChildList(new ArrayList());
}
nodeList.add(treeData1);
}
}
return nodeList;
}