JAVA 生成树结构
生活随笔
收集整理的這篇文章主要介紹了
JAVA 生成树结构
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、樹結構用來做什么?
樹結構多用于菜單、部門、公司等父子集結構的數據。
二、使用示例
/***獲取樹結構數據* @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一個集合,用以存儲整個樹結構List<Menu> menus = new ArrayList<>();List<Menu> childrenMenuList = menuMapper.childrenMenuList(menu);//此方法為獲取每個父節點for (Menu menu1 : childrenMenuList) {menus = getNextSubSet(menu1);//以父節點為參數獲取下面的所有子、孫節點所生成的樹結構menu1.setChildrenMenuList(menus);//生成樹結構將獲取的結構數據存儲父節點對象里menuList.add(menu1);}return menuList;}/***生成樹結構* @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);//以父節點獲取子節點for (Menu menu1 : menus) {List<Menu> nextLevel = getNextLevel(menu1);//獲取子節點下的再有的子孫節點menu1.setChildrenMenuList(nextLevel);//生成樹結構將獲取的結構數據存儲父節點對象里}return menus;}/***獲取每個子節點* @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);//以父節點獲取子節點if (menus.size()!=0){for (Menu menu1 : menus) {menu1.setChildrenMenuList(getNextLevel(menu1));//生成樹結構將獲取的結構數據存儲父節點對象里}}return menus;}總結
以上是生活随笔為你收集整理的JAVA 生成树结构的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【计算机组成原理】一、基本运算器实验
- 下一篇: 加盟刷脸支付代理这个项目到底能不能做?