前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >java简单递归实现树形

java简单递归实现树形

作者头像
余生大大
发布2022-10-25 14:23:21
6310
发布2022-10-25 14:23:21
举报
文章被收录于专栏:余生大大

在开发过程中微信小程序树形控件需要按照规定格式返回数据,于是简单编写了一个递归循环

@Override     public List<Map<String, Object>> getAppTreeData(Integer consId, String structType) {         Map<String,Object> params = new HashMap<String,Object>();// 传入参数         params.put("consId", consId);         params.put("type", structType);         List<Map<String, Object>> list = new ArrayList<>();// 自己方法接入参数         List<Map<String,Object>> rList = new ArrayList<>();// 格式接受参数的集合         for (Map<String, Object> map : list) {// 循环             Map<String,Object> aMap = new HashMap<String,Object>();             String parentSturctId = String.valueOf(map.get("parentSturctId"));             String structDetId = String.valueOf(map.get("structDetId"));             if (parentSturctId.equals("0")) {// 先判断顶级节点                 aMap.put("id", map.get("msId"));// 存入要求数据                 aMap.put("name", map.get("unitName"));// 存入要求数据                 List<Map<String,Object>> clist = queryChildren(structDetId,list);// 递归节点的下级数据                 aMap.put("children", clist);                 rList.add(aMap);             }         }         return rList;     }

    public List<Map<String,Object>> queryChildren(String structDetId, List<Map<String, Object>> list){         List<Map<String,Object>> rList= new ArrayList<>();         for (Map<String, Object> map : list) {             Map<String,Object> aMap = new HashMap<String,Object>();             String parentSturctId = String.valueOf(map.get("parentSturctId"));             String meStructDetId = String.valueOf(map.get("structDetId"));             if (structDetId.equals(parentSturctId)) {// 子节点循环,若是没有下级节点将不再调用                 aMap.put("id", map.get("msId"));                 aMap.put("name", map.get("unitName"));                 List<Map<String,Object>> clist = queryChildren(meStructDetId,list);                 aMap.put("children", clist);                 rList.add(aMap);             }         }         return rList;     }

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-11-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档