Advertisement

JAVA构建生成菜单树

阅读量:

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

在这里插入图片描述

思路

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

算法设计

![在这里插入图片描述](ht

全部评论 (0)

还没有任何评论哟~