java 递归遍历树形结构
2017-07-05 16:02
489 查看
好记性不如烂笔头,记录下。 //菜单树形结构 public JSONArray treeMenuList(JSONArray menuList, int parentId) { JSONArray childMenu = new JSONArray(); for (Object object : menuList) { JSONObject jsonMenu = JSONObject.fromObject(object); int menuId = jsonMenu.getInt("id"); int pid = jsonMenu.getInt("parentId"); if (parentId == pid) { JSONArray c_node = treeMenuList(menuList, menuId); jsonMenu.put("childNode", c_node); childMenu.add(jsonMenu); } } return childMenu; } public static void main(String args[]) { MenuCacheService menuCacheService = new MenuCacheService(); JSONArray jsonArray = new JSONArray(); Menu menu1 = new Menu(); menu1.setId(1l); menu1.setParentId(0); menu1.setLevel(0); Menu menu2 = new Menu(); menu2.setId(2l); menu2.setParentId(0); menu2.setLevel(0); Menu menu3 = new Menu(); menu3.setId(3l); menu3.setParentId(2); menu3.setLevel(1); Menu menu4 = new Menu(); menu4.setId(4l); menu4.setParentId(2); menu4.setLevel(1); Menu menu5 = new Menu(); menu5.setId(5l); menu5.setParentId(4); menu5.setLevel(2); Menu menu6 = new Menu(); menu6.setId(6l); menu6.setParentId(1); menu6.setLevel(1); jsonArray.add(menu1); jsonArray.add(menu2); jsonArray.add(menu3); jsonArray.add(menu4); jsonArray.add(menu5); jsonArray.add(menu6); System.out.print(menuCacheService.treeMenuList(jsonArray,0)); }
相关文章推荐
- java 递归遍历树形结构
- Java实现通过递归遍历树形结构
- Java递归遍历树形结构
- java、js中实现无限层级的树形结构(类似递归)
- java递归组装树形结构
- Java递归实现删除树形结构的任一节点
- Java遍历输出指定目录、树形结构所有文件包括子目录下的文件
- java学习笔记 使用递归 将文件目录树形结构输出,递归删除目录 文件夹。
- java_递归遍历文件目录结构,打印所有的目录名和文件名
- java遍历给定目录,树形结构输出所有文件,包括子目录中的文件
- java遍历给定目录,树形结构输出所有文件,包括子目录中的文件
- 树形结构_数据库_利用递归遍历一棵只知道父节点的树
- 高性能删除树形结构的空节点(递归遍历树形结构) Delphi
- Java非递归实现多叉树型结构遍历成JSON字符串
- 使用递归删除树形结构的所有子节点(java和mysql实现)
- java、js中实现无限层级的树形结构方法(类似递归)
- java、js中实现无限层级的树形结构(类似递归)
- java实现文件夹的遍历(树形结构)
- java遍历给定目录,树形结构输出所有文件,包括子目录中的文件
- 递归删除树形结构的所有子节点(java和mysql实现)