JAVA构建生成菜单树
发布时间
阅读量:
阅读量
需求: 需要从数据库中检索出全部的菜单条目,并依据其层级关系进行组合与包装,最终构建出一个完整的菜单结构树。
效果图:

思路
- 实体类中必须包含的字段包括:id,parent_id,以及List<实体类> children
- 根据特定条件(如公司id)从数据库中查询出所有符合条件的菜单项,并将其组织为一个List结构。
- 对该List进行遍历处理,将其转换为一个Map结构,其中Map的键为菜单项的唯一标识(通常为id),对应的值为相应的实体类对象。
- 首先构建一个用于返回给前端的集合Set,随后对上述Map进行遍历操作(此处采用的是Map的values()方法)。
- 在遍历Map的values过程中,若当前菜单项的parent_id不存在,则直接将其加入到Set中;若parent_id存在,则根据该parent_id从Map中获取对应的父级菜单项实体类,并通过调用父级菜单项的addChildren方法将当前菜单项添加至其子节点列表中。
算法设计 :

还没有任何评论哟~
