<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      list轉json tree的工具類

      package com.glodon.safety.contingency.job;
      
      import com.alibaba.fastjson.JSON;
      import com.alibaba.fastjson.JSONArray;
      import com.alibaba.fastjson.JSONObject;
      import java.util.*;
      
      /**
       * @Description 通用的list轉json tree的工具類
       * @Author songwp
       * @Date 2022/12/30 12:59
       * @Version 1.0.0
       **/
      public class CommonTreeUtil {
          /**
           - listToTree
           - <p>方法說明<p>
           - 將JSONArray數組轉為樹狀結構
           - @param arr 需要轉化的數據
           - @param id 數據唯一的標識鍵值
           - @param pid 父id唯一標識鍵值
           - @param child 子節點鍵值
           - @return JSONArray
           */
          public static JSONArray listToTree(JSONArray arr, String id, String pid, String child){
              JSONArray r = new JSONArray();
              JSONObject hash = new JSONObject();
              //將數組轉為Object的形式,key為數組中的id
              for(int i=0;i<arr.size();i++){
                  JSONObject json = (JSONObject) arr.get(i);
                  hash.put(json.getString(id), json);
              }
              //遍歷結果集
              for(int j=0;j<arr.size();j++){
                  //單條記錄
                  JSONObject aVal = (JSONObject) arr.get(j);
                  //在hash中取出key為單條記錄中pid的值
                  JSONObject hashVP = (JSONObject) hash.get(aVal.get(pid).toString());
                  //如果記錄的pid存在,則說明它有父節點,將她添加到孩子節點的集合中
                  if(hashVP!=null){
                      //檢查是否有child屬性
                      if(hashVP.get(child)!=null){
                          JSONArray ch = (JSONArray) hashVP.get(child);
                          ch.add(aVal);
                          hashVP.put(child, ch);
                      }else{
                          JSONArray ch = new JSONArray();
                          ch.add(aVal);
                          hashVP.put(child, ch);
                      }
                  }else{
                      r.add(aVal);
                  }
              }
              return r;
          }
      
          public static void main(String[] args) {
              Map map = new HashMap();
              map.put("id","1");
              map.put("parentId","0");
              map.put("name","陜西省");
              Map map1 = new HashMap();
              map1.put("id","2");
              map1.put("parentId","1");
              map1.put("name","西安市");
              Map map2 = new HashMap();
              map2.put("id","3");
              map2.put("parentId","2");
              map2.put("name","雁塔區");
              Map map3 = new HashMap();
              map3.put("id","4");
              map3.put("parentId","1");
              map3.put("name","咸陽市");
              List<Map> mapList = Arrays.asList(map, map1, map2, map3);
              JSONArray result = CommonTreeUtil.listToTree(JSONArray.parseArray(JSON.toJSONString(mapList)),"id","parentId","children");
              System.out.println(result);
      
          }
      }

      控制臺輸出:

      [
          {
              "children":[
                  {
                      "children":[
                          {
                              "name":"雁塔區",
                              "id":"3",
                              "parentId":"2"
                          }
                      ],
                      "name":"西安市",
                      "id":"2",
                      "parentId":"1"
                  },
                  {
                      "name":"咸陽市",
                      "id":"4",
                      "parentId":"1"
                  }
              ],
              "name":"陜西省",
              "id":"1",
              "parentId":"0"
          }
      ]

      方法拓展

       public List<DictTypeVO> getTree() {
              List<DictTypeVO> dictTypeVOS = DictTypeDomainService().findAllList();
              return buildTreeUseList(dictTypeVOS, 0);
          }
      
          /**
           * 使用遞歸構建樹結構-使用foreach轉換
           * @param treeList
           * @param id
           * @return
           */
          public static List<DictTypeVO> buildTreeUseList(List<DictTypeVO> treeList,long id ) {
              //收集傳遞的集合中父id相同的TreeNode
              List<DictTypeVO> children = new ArrayList<>();
              for (DictTypeVO treeNode : treeList) {
                  //判斷該節點的父id,是否與傳入的父id相同,相同則遞歸設置其孩子節點,并將該節點放入children集合中
                  if(treeNode.getParentId() == id){
                      //遞歸設置其孩子節點
                      treeNode.setChildren(buildTreeUseList(treeList, treeNode.getId()));
                      //放入children集合
                      children.add(treeNode);
                  }
              }
              return children;
          }
      posted @ 2022-12-30 13:15  [奮斗]  閱讀(175)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 免费无码VA一区二区三区| 日韩一区二区在线观看视频| 日本不卡三区| 成人性生交片无码免费看| 亚洲日韩国产二区无码| 国产成人无码免费看视频软件| 久久精品国产亚洲av天海翼| 超碰成人精品一区二区三| 国产高清一区二区不卡| 中文字幕日韩精品一区二区三区| 潮喷无码正在播放| 国产午夜成人久久无码一区二区| 中文在线天堂中文在线天堂| 日韩在线视频网| 成人网站免费在线观看| 无码免费大香伊蕉在人线国产| 日日噜噜噜夜夜爽爽狠狠视频 | 亚洲精品岛国片在线观看| 91麻豆亚洲国产成人久久| 免费无码又爽又刺激网站直播| 国产精品午夜福利免费看| 国产精品白浆在线观看免费| 国产一区二区三区日韩精品| 最新偷拍一区二区三区| 免费99视频| 亚洲成AV人片在线观高清| 国产成人高清亚洲综合| 91精品午夜福利在线观看| 少妇爽到呻吟的视频| 国产精品亚洲一区二区z| 中文字幕日韩精品人妻| 国内揄拍国内精品少妇| 夜夜影院未满十八勿进| 色欲国产精品一区成人精品| 廊坊市| 国内揄拍国产精品人妻电影| 视频一区视频二区制服丝袜| 精品国产综合成人亚洲区| 99久久精品免费看国产电影| 精品在免费线中文字幕久久| 小伙无套内射老熟女精品|