博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java递归组装树形结构
阅读量:6213 次
发布时间:2019-06-21

本文共 1318 字,大约阅读时间需要 4 分钟。

hot3.png

/**	 * 	 * @param rootList 根结点	 * @param listAll  所有结点	 * @param parentId 父子组织关系依赖属性	 * @return 返回树形字符串	 */	public String getTree(List
rootList, List
listAll, String parentId) { JSONArray jsonRootList = JSONArray.fromObject(rootList); JSONArray jsonListAll = JSONArray.fromObject(listAll); // 初始化根节点的等级 for (int i = 0; i < jsonRootList.size(); i++) { jsonRootList.getJSONObject(i).put("treeLevel", 1); } getTreeChildren(jsonRootList, jsonListAll, parentId); return jsonRootList.toString(); }/*********** * 递归获取子节点 * * @param tree * @param listAll */ //@Override private void getTreeChildren(JSONArray tree, JSONArray listAll, String parentId) { for (int i = 0; i < tree.size(); i++) { JSONObject node = tree.getJSONObject(i); JSONArray children = new JSONArray(); for (int j = 0; j < listAll.size(); j++) { JSONObject jsonObject = listAll.getJSONObject(j); if (jsonObject.getInt(parentId) == node.getInt("id")) {//是子节点 jsonObject.put("treeLevel", node.getInt("treeLevel") + 1);//节点等级 children.add(jsonObject); } } if (children.size() > 0) { node.put("spread", true);// 展开子节点 node.put("children", children);//加入子节点 //递归获取子节点 getTreeChildren(node.getJSONArray("children"), listAll, parentId); } }

 

转载于:https://my.oschina.net/u/3238650/blog/849435

你可能感兴趣的文章
Ubuntu 10.04安装水晶(Mercury)无线网卡驱动
查看>>
unity3d中布娃娃系统
查看>>
python二维数组初始化
查看>>
Myeclipes快捷键
查看>>
Burp Suite使用介绍(四)
查看>>
SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)
查看>>
前端埋点统计方案思考
查看>>
.NET Core 2.1 Preview 2带来网络方面的改进
查看>>
如何实现 javascript “同步”调用 app 代码
查看>>
局域网互访六大问题综述
查看>>
Windows Server入门系列19 ARP欺骗原理
查看>>
Linux 服务器故障排除的前五分钟 (First 5 Minutes Troubleshooting A Linux Server)
查看>>
hadoop 2.6伪分布安装
查看>>
DockOne微信分享(六十九):微服务选型之Modern Node.js
查看>>
[译] 将 Kotlin 应用于现有 Java 代码的策略
查看>>
JavaScript 包管理器工作原理简介
查看>>
sysbench测试
查看>>
【云栖大会】阿里云联合中科院量子创新研究院发布量子计算云平台
查看>>
那年的RecyclerView我们从头撸一下
查看>>
rtsp协议详解
查看>>