JAVA 生成树结构
生活随笔
收集整理的這篇文章主要介紹了
JAVA 生成树结构
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
一、樹(shù)結(jié)構(gòu)用來(lái)做什么?
樹(shù)結(jié)構(gòu)多用于菜單、部門、公司等父子集結(jié)構(gòu)的數(shù)據(jù)。
二、使用示例
/***獲取樹(shù)結(jié)構(gòu)數(shù)據(jù)* @author L_dy* @date 2022/4/11 14:48 * @return java.util.List<com.clt.base.menu.domain.Menu>*/ public List<Menu> childrenMenuList(Menu menu) {List<Menu> menuList = new ArrayList<>();//new一個(gè)集合,用以存儲(chǔ)整個(gè)樹(shù)結(jié)構(gòu)List<Menu> menus = new ArrayList<>();List<Menu> childrenMenuList = menuMapper.childrenMenuList(menu);//此方法為獲取每個(gè)父節(jié)點(diǎn)for (Menu menu1 : childrenMenuList) {menus = getNextSubSet(menu1);//以父節(jié)點(diǎn)為參數(shù)獲取下面的所有子、孫節(jié)點(diǎn)所生成的樹(shù)結(jié)構(gòu)menu1.setChildrenMenuList(menus);//生成樹(shù)結(jié)構(gòu)將獲取的結(jié)構(gòu)數(shù)據(jù)存儲(chǔ)父節(jié)點(diǎn)對(duì)象里menuList.add(menu1);}return menuList;}/***生成樹(shù)結(jié)構(gòu)* @author L_dy* @date 2022/4/11 14:48 * @return java.util.List<com.clt.base.menu.domain.Menu>*/public List<Menu> getNextSubSet(Menu menu) {List<Menu> menus = menuMapper.childrenMenuListByParentId(menu);//以父節(jié)點(diǎn)獲取子節(jié)點(diǎn)for (Menu menu1 : menus) {List<Menu> nextLevel = getNextLevel(menu1);//獲取子節(jié)點(diǎn)下的再有的子孫節(jié)點(diǎn)menu1.setChildrenMenuList(nextLevel);//生成樹(shù)結(jié)構(gòu)將獲取的結(jié)構(gòu)數(shù)據(jù)存儲(chǔ)父節(jié)點(diǎn)對(duì)象里}return menus;}/***獲取每個(gè)子節(jié)點(diǎn)* @author L_dy* @date 2022/4/11 14:48 * @return java.util.List<com.clt.base.menu.domain.Menu>*/public List<Menu> getNextLevel(Menu menu) {List<Menu> menus = menuMapper.childrenMenuListByParentId(menu);//以父節(jié)點(diǎn)獲取子節(jié)點(diǎn)if (menus.size()!=0){for (Menu menu1 : menus) {menu1.setChildrenMenuList(getNextLevel(menu1));//生成樹(shù)結(jié)構(gòu)將獲取的結(jié)構(gòu)數(shù)據(jù)存儲(chǔ)父節(jié)點(diǎn)對(duì)象里}}return menus;}總結(jié)
以上是生活随笔為你收集整理的JAVA 生成树结构的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【计算机组成原理】一、基本运算器实验
- 下一篇: 加盟刷脸支付代理这个项目到底能不能做?