当前位置:网站首页>建立树形结构
建立树形结构
2022-08-03 04:35:00 【Dzooooone_】
//建立树形结构
public List<BasicMenuInfoVo> buildTree() {
List<BasicMenuInfoVo> treeMenus = new ArrayList<>();
for (BasicMenuInfoVo menuNode : getRootNode()) {
menuNode = buildChildTree(menuNode);
treeMenus.add(menuNode);
}
return treeMenus;
}
//获取根节点
private List<BasicMenuInfoVo> getRootNode() {
List<BasicMenuInfoVo> rootMenuLists = new ArrayList<>();
for (BasicMenuInfoVo menuNode : menuList) {
if (menuNode.getParentId().longValue() == 0) {
menuNode.setAccess(permissionMap.get(menuNode.getPermissionId()));
if (flag == 0) rootMenuLists.add(menuNode);
if (flag == 1 && menuNode.getState() == 1) rootMenuLists.add(menuNode);
}
}
return rootMenuLists;
}
//递归,建立子树形结构
private BasicMenuInfoVo buildChildTree(BasicMenuInfoVo pNode) {
List<BasicMenuInfoVo> childMenus = new ArrayList<>();
for (BasicMenuInfoVo menuNode : menuList) {
if (menuNode.getParentId().longValue() == pNode.getId().longValue()) {
menuNode.setAccess(permissionMap.get(menuNode.getPermissionId()));
if (flag == 0) childMenus.add(buildChildTree(menuNode));
if (flag == 1 && menuNode.getState() == 1) childMenus.add(buildChildTree(menuNode));
}
}
pNode.setRoutes(childMenus);
return pNode;
}
边栏推荐
- OpenFOAM extracts equivalency and calculates area
- "Obs" start pushing flow failure: the Output. The StartStreamFailed call process
- Kotlin-Flow常用封装类:StateFlow的使用
- path development介绍
- 浏览器监听标签页关闭
- 【Harmony OS】【ARK UI】ets使用startAbility或startAbilityForResult方式调起Ability
- Live | StarRocks technology insider: low base dictionary global optimization
- 好消息!北京、珠海PMP考试时间来啦
- JS底层手写
- unity2D横板游戏教程6-敌人AI以及受击动画
猜你喜欢
随机推荐
Technology Sharing | How to do assertion verification for xml format in interface automation testing?
常见亲脂性细胞膜染料DiO, Dil, DiR, Did光谱图和实验操作流程
Dialog manager in the fourth chapter: the dialog message loop
mysql bool盲注
2022河南萌新联赛第(四)场:郑州轻工业大学 E - 睡大觉
汇编题答案
js中的闭包
The flink sql task is changed, and after adding several fields to the sql, an error occurs when restoring from the previously saved savepoint.
我将GuiLite移植到了STM32F4开发板上
Problems that need to be solved for interrupting the system
刚上线就狂吸70W粉,新型商业模式“分享购”来了,你知道吗?
【Harmony OS】【ARK UI】ets使用startAbility或startAbilityForResult方式调起Ability
深圳线下报名|StarRocks on AWS:如何对实时数仓进行极速统一分析
【开发者必看】【push kit】推送服务服务典型问题合集2
3.张量运算
How to use the interface management tool YApi?Beautiful, easy to manage, super easy to use
【Harmony OS】【ARK UI】Date 基本操作
接口测试 Mock 实战(二) | 结合 jq 完成批量化的手工 Mock
rosbag工具plotjuggler无法打开rosbag的问题
汇编书摘抄









