日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

父子树状结构图

發(fā)布時間:2023/12/29 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 父子树状结构图 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

遍歷獲取父子樹狀結(jié)構(gòu)的MAP集合。
用Map集合通用性比較高。

private List<Map<String, Object>> treeMenuList(List<Map<String, Object>> childMenu, List<Map<String, Object>> allMenu, String pid) {for (Map<String, Object> map : allMenu) {String supdepid = map.get("parentId") == null ? null : map.get("parentId").toString();String departmentId = map.get("id") == null ? null : map.get("id").toString();if (pid.equals(supdepid)) {List<Map<String, Object>> childrenList = treeMenuList(new ArrayList<>(), allMenu, departmentId);map.put("childrenDepartment", childrenList);childMenu.add(map);}}return childMenu;}

當(dāng)父子樹狀圖需要對一個對象集合來操作的時候

/*** 根據(jù)工號,和系統(tǒng)的id(mark) 來獲取菜單的框架,分級那種。* @param menuQueryBo* @return*//*** 利用遞歸循環(huán)查詢* 每一層查詢其員工封裝到一個對象map集合中* 員工是根據(jù)部門的id來查詢的,一對多* 和查詢部門封裝到一個對象map集合中* 當(dāng)根據(jù)父id查詢不到部門的時候循環(huán)結(jié)束。*///全局變量private List<MenuVO> allDepartment = new ArrayList<>(); //全局變量@Overridepublic Response<List<MenuVO>> getMenuByworkCodeAndSystemIdForFrame(MenuQueryBo menuQueryBo) {//先獲取所有的數(shù)據(jù) 該數(shù)據(jù)取 沒有做父子類的數(shù)據(jù),List<MenuBO> data = this.getMenuByworkCodeAndSystemId(menuQueryBo).getData();if (data == null || data.size() == 0) {Response response = new Response();response.setCode(0);response.setMessage("沒有關(guān)聯(lián)的菜單");return response;}/*** 找到符合條件的角色的所有父類直到parentId為0;*/List<MenuVO> datumList = new ArrayList<>();//把獲取的值給全值集合for (MenuBO datum : data) {//getMenuVOParent(datum);allDepartment.add(MenuBOTransformVO.boToVO(datum));}List<MenuVO> menuVOList = new ArrayList<>();/* for (MenuVO datum : allDepartment) {//得到所有符合條件的menuVO集合// allDepartment.add(MenuBOTransformVO.boToVO(datum));if (datum.getParentId() == 0) {menuVOList.add(datum);}}*/for (int i = 0; i < allDepartment.size(); i++) {if (allDepartment.get(i).getParentId() == 0) {menuVOList.add(allDepartment.get(i));}}if (!menuVOList.isEmpty()) {List<MenuVO> list = new ArrayList<>();if (menuVOList != null) {for (int i = 0; i < menuVOList.size(); i++) {list.add(recursiveTree(menuVOList.get(i).getId())); //獲取一級節(jié)點(diǎn)的對象id}}allDepartment.clear();return Response.success(list);} else {//此時父id不是0;for (MenuVO menuVO : allDepartment) {List<MenuVO> menuVOList1 = new ArrayList<>();for (MenuVO menuVO1 : allDepartment) {if (menuVO.getParentId() == menuVO1.getId()) {menuVOList1.add(menuVO);}}if (menuVOList1.isEmpty()) {menuVOList.add(menuVO);}}List<MenuVO> list = new ArrayList<>();if (menuVOList != null) {for (int i = 0; i < menuVOList.size(); i++) {list.add(recursiveTree(menuVOList.get(i).getId())); //獲取一級節(jié)點(diǎn)的對象id}}allDepartment.clear();return Response.success(list);}}/*** 遞歸算法解析成樹形結(jié)構(gòu)** @param cid*/public MenuVO recursiveTree(Integer cid) {MenuVO node = new MenuVO();for (MenuVO menuVO : allDepartment) {if (menuVO.getId() == cid) {BeanUtils.copyProperties(menuVO, node);}}List<MenuVO> childTreeNodes = getChildTreeById(cid);for (MenuVO child : childTreeNodes) {MenuVO n = recursiveTree(child.getId());node.getChildren().add(n);}return node;}/*** 根據(jù)CID查詢節(jié)點(diǎn)對象*/public HrmDepartmentVO HrmDepartmentPO(Integer cid) {Map map = getTreeMap();return (HrmDepartmentVO) map.get(cid);}/*** 一次性取所有數(shù)據(jù),為了減少對數(shù)據(jù)庫查詢操作** @return*/public Map getTreeMap() {Map map = new HashMap<Integer, HrmDepartmentPO>();if (null != allDepartment) {for (MenuVO d : allDepartment) {map.put(d.getId(), d);}}return map;}/*** 根據(jù)父節(jié)點(diǎn)CID獲取所有了節(jié)點(diǎn)*/public List<MenuVO> getChildTreeById(Integer cid) {List<MenuVO> list = new ArrayList<>();if (null != allDepartment) {for (MenuVO d : allDepartment) {if (null != cid) {if (cid.equals(d.getParentId())) {list.add(d);}}}}return list;}

總結(jié)

以上是生活随笔為你收集整理的父子树状结构图的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产成人超碰人人澡人人澡 | www.色啪啪.com | 奇米7777| 这里只有精品免费视频 | 97国产资源| 一区二区三区三区在线 | 蜜臀在线播放 | 麻豆黄色一级片 | 亚洲啪av永久无码精品放毛片 | 视频污在线观看 | 日本做爰全过程免费看 | 艳妇乳肉豪妇荡乳 | 一级少妇精品久久久久久久 | 国产麻豆成人传媒免费观看 | 欧美多人猛交狂配 | 欧美激情片一区二区 | 国产一区二区啪啪啪 | 久操网在线 | 青青毛片 | 亚洲精品一区二区三区区别 | 天天爱夜夜操 | 无码人妻久久一区二区三区蜜桃 | 欧美精品v国产精品v日韩精品 | 人人妻人人藻人人爽欧美一区 | 欧美精品一区三区 | 婷婷在线影院 | 精品久久久久久久久久久久久久 | 日韩欧美天堂 | 亚洲av熟女国产一区二区性色 | 中文在线观看视频 | 中文第一页 | a一级黄色 | 91蜜桃视频| 亚洲最大成人综合网 | 欧美一级免费观看 | 九色蝌蚪porny | 欧美人与性动交α欧美精品 | 能看毛片的网站 | 亚洲激情区 | 欧美在线观看视频一区二区 | 亚洲欧美另类在线视频 | 欧美久久久一区二区三区 | 中文字幕永久在线视频 | 欧美综合自拍亚洲综合图片区 | 操干网| 亚洲黄色片免费看 | 精品一区二区三区免费毛片爱 | 小妹色播 | 日本特黄成人 | 最新av免费观看 | 精品久久久999 | 亚洲精品91天天久久人人 | 欧美片一区二区 | 日韩一级成人 | 日韩精品色呦呦 | 九九久久国产精品 | 欧美不卡一区二区 | 成人免费毛片视频 | 亚洲va国产va天堂va久久 | 久久青青草原 | 天天干天天操天天插 | 熟女俱乐部一区二区 | 欧洲精品视频在线观看 | 娇妻被老王脔到高潮失禁视频 | 欧美亚洲精品一区 | 成人亚洲精品777777ww | 992在线观看 | 少妇饥渴放荡91麻豆 | 都市激情 自拍偷拍 | 亚洲人人爽 | 欧州一区二区三区 | 久久久久久久久久福利 | av在线第一页 | 日韩成人免费av | 求一个黄色网址 | www.狠狠艹| 亚洲αv| 国产亚洲色婷婷久久99精品91 | 蜜臀久久精品久久久久 | 奇米网久久 | 麻豆av毛片 | 熟女高潮一区二区三区 | 国产精品久久久久久一区二区三区 | 自拍偷拍视频在线 | 国产高清在线免费观看 | 三级av网址 | 大香焦久久 | av毛片精品 | 亚洲中文字幕一区在线 | 久久少妇av | 日韩视频免费播放 | 四虎精品成人免费网站 | 日本美女毛片 | 国产精品免费在线 | 少妇福利在线 | www欧美| 伦理av在线| 波多野结衣伦理 | 久久国产精品免费看 |