!29 菜单树build优化:减少递归次数

Merge pull request !29 from jar壳虫/master
remotes/origin/dev
小诺 2021-12-16 12:21:01 +00:00 committed by Gitee
commit 6c4ddbde46
1 changed files with 5 additions and 4 deletions

View File

@ -75,8 +75,8 @@ public class TreeBuildFactory<T extends BaseTreeNode> {
if (ObjectUtil.isNotEmpty(nodeSubLists)) { if (ObjectUtil.isNotEmpty(nodeSubLists)) {
nodeSubLists.forEach(t -> this.buildChildNodes(totalNodes, t, CollectionUtil.newArrayList())); nodeSubLists.forEach(t -> this.buildChildNodes(totalNodes, t, CollectionUtil.newArrayList()));
} }
childNodeLists.addAll(nodeSubLists); // childNodeLists.addAll(nodeSubLists);
node.setChildren(childNodeLists); node.setChildren(nodeSubLists);
} }
/** /**
@ -104,8 +104,9 @@ public class TreeBuildFactory<T extends BaseTreeNode> {
* @date 2020/4/5 14:13 * @date 2020/4/5 14:13
*/ */
private List<T> executeBuilding(List<T> nodes) { private List<T> executeBuilding(List<T> nodes) {
nodes.forEach(t -> this.buildChildNodes(nodes, t, CollectionUtil.newArrayList())); List<T> parentNodes = afterBuild(nodes);
return nodes; parentNodes.forEach(t -> this.buildChildNodes(nodes, t, CollectionUtil.newArrayList()));
return parentNodes;
} }
/** /**