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.    }  
  • 相关阅读:
    sizeof()和 strlen()的区别 --- 个人笔记
    MySQL 生成自增流水号
    sql 逗号分隔列转行
    【转】.NET中lock的使用方法及注意事项
    【转】在一个SQL Server表中一行的多个列找出最大值
    使用 PIVOT 和 UNPIVOT
    List<T>转DataTable
    C# 分数计算类(加减乘除)
    【转】mysql执行计划介绍
    【转】SQL Server 存储:理解IAM 页
  • 原文地址:https://www.cnblogs.com/jtlgb/p/8670062.html
Copyright © 2011-2022 走看看