日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

Java list如何根據(jù)id獲取子節(jié)點

瀏覽:50日期:2022-09-04 09:07:58

工作中因業(yè)務(wù)需求,將數(shù)據(jù)庫中的樹狀結(jié)構(gòu)的數(shù)據(jù)根據(jù)父節(jié)點獲取所有的子節(jié)點

實現(xiàn)思路

1.獲取整個數(shù)據(jù)的list集合數(shù)據(jù)

2.將數(shù)據(jù)分組,java8 list有g(shù)roupby分組,java8之前的自己遍歷整理

3.分組后遞歸獲取子節(jié)點,有子節(jié)點的添加,沒有的設(shè)置子節(jié)點并刪除分組的數(shù)據(jù),知道分組數(shù)據(jù)刪完

Tree.java

@Datapublic class Tree { private Integer id; private Integer pId; private String key; private String value; private List<Tree> childList;}

TreeUtils.java

public class TreeUtils { static List<Tree> trees ; static { String jsonStr = '[' +'{'id':100,'pId':1,'key':'root', 'value': 'root'},' +'{'id':1000,'pId':100,'key':'node1', 'value': 'node1'},' +'{'id':2000,'pId':100,'key':'node2','value': 'node2'},' +'{'id':3000,'pId':100,'key':'node3','value': 'node3'},' +'{'id':1100,'pId':1000,'key':'node11','value': 'node11'},' +'{'id':1200,'pId':1000,'key':'node12','value': 'node12'},' +'{'id':1110,'pId':1100,'key':'node111','value': 'node111'},' +'{'id':1120,'pId':1100,'key':'node112','value': 'node112'},' +'{'id':2100,'pId':2000,'key':'node21','value': 'node21'},' +'{'id':2200,'pId':2000,'key':'node22','value': 'node22'},' +'{'id':2110,'pId':2100,'key':'node211','value': 'node21'}' +']'; trees = JSONObject.parseArray(jsonStr, Tree.class); } public static void main(String[] args) { Tree tree = metaTree(trees, 100); /** * Tree@6073f712[id=100,pId=1,key=root,value=root,childList=[ * Tree(id=1000, pId=100, key=node1, value=node1, childList=[ * Tree(id=1100, pId=1000, key=node11, value=node11, childList=[ * Tree(id=1110, pId=1100, key=node111, value=node111, childList=null), * Tree(id=1120, pId=1100, key=node112, value=node112, childList=null)]), * Tree(id=1200, pId=1000, key=node12, value=node12, childList=null)]), * Tree(id=2000, pId=100, key=node2, value=node2, childList=[ * Tree(id=2100, pId=2000, key=node21, value=node21, childList=[ * Tree(id=2110, pId=2100, key=node211, value=node21, childList=null)]), * Tree(id=2200, pId=2000, key=node22, value=node22, childList=null)]), * Tree(id=3000, pId=100, key=node3, value=node3, childList=null)]] */ System.out.println('tree:' + ToStringBuilder.reflectionToString(tree)); } private static Tree metaTree(List<Tree> treeList, Integer id) {//此處getId getPId根據(jù)自己實際情況更改 Tree treeConfig = treeList.stream().filter(tree -> tree.getId().equals(id)).collect(Collectors.toList()).get(0); Map<Integer, List<Tree>> collect = treeList.stream().filter(type -> type.getPId() != null).collect(Collectors.groupingBy(Tree::getPId)); if (collect != null && collect.size() > 0) { recursion(collect, treeConfig); } return treeConfig; } private static Tree recursion(Map<Integer, List<Tree>> maps, Tree tree) { if (tree.getChildList() == null) { if (maps.get(tree.getId()) != null) {tree.setChildList(maps.get(tree.getId()));maps.remove(tree.getId());if (maps.size() > 0) { recursion(maps, tree);} } } else { List<Tree> metaTypeList = tree.getChildList(); if (metaTypeList != null && metaTypeList.size() > 0) {for (Tree meta : metaTypeList) { recursion(maps, meta);} } } return tree; }}

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標簽: Java
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
欧美日韩一区二区国产| 日韩大片免费观看| 一区二区自拍| 亚洲天堂久久| 亚洲www啪成人一区二区| 日本美女一区| 91精品蜜臀一区二区三区在线 | 免费精品视频最新在线| 视频在线观看一区二区三区| 蜜桃国内精品久久久久软件9| 久久人人精品| 亚州av乱码久久精品蜜桃| 欧美精品一区二区三区精品| 99香蕉国产精品偷在线观看 | 日本欧美在线看| 亚洲精选久久| 欧美影院精品| 久久精品系列| 国产黄大片在线观看| 日韩在线短视频| 亚洲国产一区二区在线观看| 国产精品av一区二区| 丝袜脚交一区二区| 97久久精品| 色婷婷色综合| 亚洲免费高清| 91精品美女| 国产a久久精品一区二区三区| 日韩精品欧美| 在线精品观看| 欧美国产另类| 91精品一区二区三区综合在线爱| 国产精品腿扒开做爽爽爽挤奶网站| 国产一级久久| 欧美日本不卡高清| 精品日韩视频| 日韩欧美中文字幕在线视频| 久久精品三级| 亚洲精品99| 国产欧美一区二区精品久久久| 丁香婷婷久久| 香蕉久久久久久久av网站| 国产欧美精品久久| 成人久久一区| 日本电影久久久| 日韩中文首页| 亚洲精品第一| 成人欧美一区二区三区的电影| 激情婷婷综合| 欧美国产另类| 午夜在线播放视频欧美| 美腿丝袜亚洲三区| 在线一区免费观看| 久久精品人人| 亚洲日产国产精品| 日产午夜精品一线二线三线| 免费在线观看视频一区| 国产成人免费视频网站视频社区| 久久国产精品99国产| 精品日本视频| 亚洲精品日韩久久| 日韩免费看片| 91欧美极品| 欧美一区二区三区激情视频| 国产精选久久| 免费在线观看成人| 91精品国产福利在线观看麻豆| 国产精品一区二区av交换| 亚洲成人精选| 日韩av片子| 国产精品一区二区精品视频观看 | 国产一区二区三区精品在线观看| 午夜宅男久久久| 人人草在线视频| 欧美视频一区| 亚洲国产成人精品女人| 精品久久久久久久| 日韩不卡一区二区三区| 欧美国产91| 欧美国产美女| 国产精品亚洲综合在线观看| 美女久久一区| 久久裸体视频| 国产成人精品亚洲线观看| 日韩精品亚洲专区| 在线视频精品| 国产99亚洲| 日韩久久精品| 久久影院一区二区三区| 日韩一区网站| 红桃视频亚洲| 午夜精品成人av| 欧美a在线观看| 日韩国产在线观看| 在线国产精品一区| 国产精品毛片在线看| 亚洲一区资源| 国产91欧美| 精品国产亚洲一区二区三区| 国产欧美日韩一区二区三区在线| 久久亚洲色图| 国产亚洲在线观看| 五月天久久网站| 亚洲午夜一级| 久久天堂av| 成人国产精品| 国产成人精品免费视| 久久字幕精品一区| 免费亚洲婷婷| 你懂的亚洲视频| 国产极品嫩模在线观看91精品| 日本不卡的三区四区五区| 天堂va蜜桃一区二区三区| 好吊日精品视频| 亚洲精品极品少妇16p| 激情欧美一区二区三区| 欧美天堂视频| 日韩中文字幕高清在线观看| 新版的欧美在线视频| 精品美女在线视频| 欧美日本不卡| 国产精品免费不| 国产精品密蕾丝视频下载| 国产精品亚洲产品| 欧美激情视频一区二区三区免费| 欧美黑人巨大videos精品| 久久亚洲精品中文字幕| 久久99国产精品视频| 国产一区二区三区探花| 精品国产18久久久久久二百| 麻豆国产精品一区二区三区| 六月丁香综合在线视频| 成人污污视频| 青青久久av| 亚洲精品中文字幕乱码| 伊人久久婷婷| 综合色一区二区| 青青草国产成人99久久| 麻豆精品新av中文字幕| 狠狠久久伊人| 久久久久一区| 亚洲综合另类| 日本不卡一区二区| 久久a爱视频| 日韩欧美少妇| 亚洲综合欧美| 国产免费av国片精品草莓男男| 精品视频一区二区三区四区五区 | 日韩精品久久理论片| 国产日韩欧美三区| 国产成人a视频高清在线观看| 成人午夜国产| 亚洲一区亚洲| 日本精品在线播放| 久久久国产精品入口麻豆| 婷婷激情一区| 玖玖精品视频| 久久精品99国产国产精| 韩国女主播一区二区三区| 欧美日韩精品免费观看视欧美高清免费大片| 久久精品电影| 亚洲涩涩av| 精品一区二区三区亚洲| 91精品蜜臀一区二区三区在线| 欧美一区=区| 亚洲a成人v| 国产69精品久久| 久久午夜视频| 国产激情精品一区二区三区| 欧美13videosex性极品| 蜜臀久久99精品久久久画质超高清| 日本h片久久| 欧美不卡高清一区二区三区| 亚洲精品第一| 裤袜国产欧美精品一区| 先锋亚洲精品| 国产一区二区精品福利地址| 丝袜美腿一区二区三区| 美女久久99| 久久亚洲风情| 国产成人精品一区二区三区视频 | 国产美女视频一区二区| 青青久久av| 日本视频在线一区| 欧美日韩精品免费观看视完整| 亚洲欧洲美洲国产香蕉| 91亚洲一区| 视频在线观看一区| 国产精品伦理久久久久久| 亚洲深深色噜噜狠狠爱网站 | 国产91精品对白在线播放| 日韩av电影一区| 亚洲高清不卡| 欧美激情综合| 亚洲九九精品| 日韩精品一卡| 国产精品亚洲欧美日韩一区在线| 亚洲电影在线一区二区三区| 精品国产一区二| 亚洲精品美女91|