zoukankan      html  css  js  c++  java
  • java 递归 树形

    1. //菜单树形结构  
    2.    public JSONArray treeMenuList(JSONArray menuList, int parentId) {  
    3.        JSONArray childMenu = new JSONArray();  
    4.        for (Object object : menuList) {  
    5.            JSONObject jsonMenu = JSONObject.fromObject(object);  
    6.            int menuId = jsonMenu.getInt("id");  
    7.            int pid = jsonMenu.getInt("parentId");  
    8.            if (parentId == pid) {  
    9.                JSONArray c_node = treeMenuList(menuList, menuId);  
    10.                jsonMenu.put("childNode", c_node);  
    11.                childMenu.add(jsonMenu);  
    12.            }  
    13.        }  
    14.        return childMenu;  
    15.    }  
    16.   
    17. public static void main(String args[]) {  
    18.        MenuCacheService menuCacheService = new MenuCacheService();  
    19.        JSONArray jsonArray = new JSONArray();  
    20.        Menu menu1 = new Menu();  
    21.        menu1.setId(1l);  
    22.        menu1.setParentId(0);  
    23.        menu1.setLevel(0);  
    24.        Menu menu2 = new Menu();  
    25.        menu2.setId(2l);  
    26.        menu2.setParentId(0);  
    27.        menu2.setLevel(0);  
    28.        Menu menu3 = new Menu();  
    29.        menu3.setId(3l);  
    30.        menu3.setParentId(2);  
    31.        menu3.setLevel(1);  
    32.        Menu menu4 = new Menu();  
    33.        menu4.setId(4l);  
    34.        menu4.setParentId(2);  
    35.        menu4.setLevel(1);  
    36.        Menu menu5 = new Menu();  
    37.        menu5.setId(5l);  
    38.        menu5.setParentId(4);  
    39.        menu5.setLevel(2);  
    40.        Menu menu6 = new Menu();  
    41.        menu6.setId(6l);  
    42.        menu6.setParentId(1);  
    43.        menu6.setLevel(1);  
    44.   
    45.        jsonArray.add(menu1);  
    46.        jsonArray.add(menu2);  
    47.        jsonArray.add(menu3);  
    48.        jsonArray.add(menu4);  
    49.        jsonArray.add(menu5);  
    50.        jsonArray.add(menu6);  
    51.   
    52.        System.out.print(menuCacheService.treeMenuList(jsonArray,0));  
    53.    }  
  • 相关阅读:
    AutoMapper,对象映射的简单使用
    Angular 4.0从入门到实战
    IE报错:The given path's format is not supported
    原生js中slice()方法和splice()区别
    使用jquery插件ajaxfileupload一次上传多个文件,示例
    C#路径中获取文件全路径、目录、扩展名、文件名称
    NET二进制图片存储与读取的常见方法,iTextSharp添加图片生成PDF文件
    Type.GetType()反射另外项目中的类时返回null的解决方法
    C#中对于Enum类型的遍历
    读取word到二进制,再转成word
  • 原文地址:https://www.cnblogs.com/jtlgb/p/8670062.html
Copyright © 2011-2022 走看看