当前位置:网站首页>建立树形结构
建立树形结构
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;
}
边栏推荐
猜你喜欢
随机推荐
Two ways to simulate multi-user login in Jmeter
mysql 创建索引的三种方式
How to use the interface management tool YApi?Beautiful, easy to manage, super easy to use
探索性测试的概念及方法
js garbage collection mechanism
v-on指令:为元素绑定事件
刚上线就狂吸70W粉,新型商业模式“分享购”来了,你知道吗?
接口测试框架实战(四)| 搞定 Schema 断言
js的垃圾回收机制
Can Oracle EMCC be installed independently?Or does it have to be installed on the database server?
【生物素叠氮化物|cas:908007-17-0】价格_厂家
Test drive: project management module - curd development project
社交电商如何做粉丝运营?云平台怎么选择商业模式?
浏览器监听标签页关闭
11.机器学习基础:机器学习的四个分支
2022河南萌新联赛第(四)场:郑州轻工业大学 E - 睡大觉
t conditional judgment statement and if loop
MySQL 入门:Case 语句很好用
接口管理工具YApi怎么用?颜值高、易管理、超好用
富瑞宣布战略交易,以简化运营,持续专注于打造领先的独立全服务型全球投行公司