树形数据的工具类
程序员文章站
2022-03-11 08:54:40
树形数据(Java)的返回)## 树形数据@Componentpublic class TreeConfig { public static List treeFirst(List list) { //这里的Menu是我自己的实体类,参数只需要菜单id和父id即可,其他元素可任意增添 Map map = new HashMap<>(50); for (Me...
树形数据(Java)的返回)## 树形数据
@Component
public class TreeConfig {
public static List<Memu> treeFirst(List<Memu> list) {
//这里的Menu是我自己的实体类,参数只需要菜单id和父id即可,其他元素可任意增添
Map<Integer, Memu> map = new HashMap<>(50);
for (Memu treeNode : list) {
map.put(treeNode.getMenuId(), treeNode);
}
return addChildren(list, map);
}
private static List<Memu> addChildren(List<Memu> list, Map<Integer, Memu> map) {
List<Memu> rootNodes = new ArrayList<>();
for (Memu treeNode : list) {
Memu parentHave = map.get(treeNode.getParentId());
if (StringUtils.isEmpty(parentHave)) {
rootNodes.add(treeNode);
} else {
//当前位置显示实体类中的List元素定义的参数为null,出现空指针异常错误
if(StringUtils.isEmpty( parentHave.getChildList())){
parentHave.setChildList(new ArrayList<Memu>());
parentHave.getChildList().add(treeNode);
}else {
parentHave.getChildList().add(treeNode);
}
}
}
return rootNodes;
}
}
本文地址:https://blog.csdn.net/TigerTonyLoginer/article/details/107389325
上一篇: 《ApplicationContextAware》
下一篇: 二叉树的遍历
推荐阅读
-
php如何操作mysql数据库的类(附代码)
-
JavaEE基础day02 1.定义Java中的变量 四类八种 2.变量定义和使用的注意事项 3.数据类型的转换、强制数据类型转换4.算数运算符、比较运算符、逻辑运算符、赋值运算符、三元运算符
-
类的另类用法--数据的封装_PHP教程
-
分享下php5类中三种数据类型的区别,php5数据类型
-
一个基于PDO的数据库操作类(新) 一个PDO事务实例
-
分享下php5类中三种数据类型的区别,php5数据类型_PHP教程
-
php有关mysql数据库操作类的实例讲解
-
php实现的树形结构数据存取类实例,树形实例_PHP教程
-
php简单操作mysql数据库的类_PHP教程
-
超轻的 PHP 数据库工具包