两层循环实现建树
/**
* 两层循环实现建树
*
* @param dataList 传入的树节点列表
* @return
*/
private static List<PmsUserRole.Resource> bulid(List<PmsUserRole.Resource> dataList) {
List<PmsUserRole.Resource> trees = new ArrayList<>();
for (PmsUserRole.Resource treeNode : dataList) {
if (!Objects.isNull(treeNode.getParendId())) {
trees.add(treeNode);
}
for (PmsUserRole.Resource it : dataList) {
if (it.getResourceId().compareTo(treeNode.getParendId()) == 0) {
if (treeNode.getChildResource() == null) {
treeNode.setChildResource(new ArrayList<>());
}
treeNode.getChildResource().add(it);
}
}
}
return trees;
}