Hutool工具-TreeUtil封装树形结构数据,你用过了吗
本文共 1,147 字,预计阅读时间 4 分钟
在开发过程中,必定会遇到树形结构的数据,一般都是后端直接从库里查询出来然后自定义方法去封装成树形树形返回给前端。其实Hutool工具类也提供了这个方法,这种方式使用起来也很简单。
//1.配置树节点信息,指定key,可直接使用默认的key TreeNodeConfig config = new TreeNodeConfig(); //2.查询数据 List<AreaCode> areaCodes = areaCodeDao.selectAll(); //3.转为树结构,其中rootId参数代表根节点的父级id值 List<Tree<String>> treeList = TreeUtil.build(areaCodes, "0", config, ((object, treeNode) -> { //对key进行映射赋值 treeNode.putExtra("id", object.getId()); treeNode.putExtra("parentId", object.getPid()); treeNode.putExtra("name", object.getName()); treeNode.putExtra("deep", object.getAreaLevel()); }));
在封装树形结构时,需要将数据与树结构对象进行映射,上述是采用的默认的key,其源码如下:
当然也可以自定义key,那么在进行key映射时需要保持一致
TreeNodeConfig config = new TreeNodeConfig(); //id config.setIdKey("id"); //父id config.setParentIdKey("pid"); //名称 config.setNameKey("name"); //最大递归深度 config.setDeep(3); //孩子节点 config.setChildrenKey("childrenList"); //排序字段 config.setWeightKey("sort");
查询的数据如下图,是树形结构。
就是这么简单,你学废了吗?感觉有用的话,给笔者点个赞吧 !
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!