递归树结构封装

Posted java-llp

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了递归树结构封装相关的知识,希望对你有一定的参考价值。

技术图片

 

/**
* 递归转化树形菜单
*/
private List<Map<String, Object>> getMenuTree(List<Authorities> authorities, Integer parentId)
List<Map<String, Object>> list = new ArrayList<>();
for (int i = 0; i < authorities.size(); i++)
Authorities temp = authorities.get(i);
//第一次temp.getParentId()=-1 parentId=-1 判断进入重新递归方法
//第二次temp.getParentId()=-1 parentId=1 不递归不进判断
//第二次temp.getParentId()=2 parentId=1 不递归不进判断
if (temp.getIsMenu() == 0 && parentId == temp.getParentId())
Map<String, Object> map = new HashMap<>();
map.put("menuName", temp.getAuthorityName());
map.put("menuIcon", temp.getMenuIcon());
map.put("menuUrl", StringUtil.isBlank(temp.getMenuUrl()) ? "javascript:;" : temp.getMenuUrl());
map.put("subMenus", getMenuTree(authorities, authorities.get(i).getAuthorityId()));
list.add(map);


return list;

 

技术图片

 

以上是关于递归树结构封装的主要内容,如果未能解决你的问题,请参考以下文章

简单几步,快速实现封装多级树结构对象(Java版)

游戏开发解答Unity使用lua将table转为树结构,以多级折叠内容列表的UI形式展现(树结构 | UGUI | 折叠展开 | lua)

游戏开发解答Unity使用lua将table转为树结构,以多级折叠内容列表的UI形式展现(树结构 | UGUI | 折叠展开 | lua)

游戏开发解答Unity使用lua将table转为树结构,以多级折叠内容列表的UI形式展现(树结构 | UGUI | 折叠展开 | lua)

树结构和递归

js递归树结构