java实现zTree的遍历

您所在的位置:网站首页 ztree怎么用 java实现zTree的遍历

java实现zTree的遍历

#java实现zTree的遍历| 来源: 网络整理| 查看: 265

java实现zTree的遍历 原创

chushiyunaaa 2023-02-27 19:44:54 博主文章分类:java ©著作权

文章标签 父节点 List 重置 其他 文章分类 深度学习 人工智能

©著作权归作者所有:来自51CTO博客作者chushiyunaaa的原创作品,请联系作者获取转载授权,否则将追究法律责任

entity代码:

public class CategoryVO { private Integer id; private Integer pId; private String name; private String url; private List children=new ArrayList(); //get set 省略 }

数据是这样的:java实现zTree的遍历_List 实现代码:

public List list(String name,Model model){ List categoryList = CategoryJDBC.getCategoryList(); HashMap tmpMap = new HashMap(); // 所有对象存放到map中 for (CategoryVO categoryVO : categoryList) { tmpMap.put(categoryVO.getId(), categoryVO); } ArrayList arrayList = new ArrayList(); // 结果list,之所以用list,是考虑到有多个根目录的情况 for (CategoryVO categoryVO : categoryList) { // 遍历所有元素,放到对应的父节点 if(tmpMap.get(categoryVO.getpId())!=null && categoryVO.getId()!=categoryVO.getpId() ){ CategoryVO categoryVO2 = tmpMap.get(categoryVO.getpId()); //map中找到父节点 List children = categoryVO2.getChildren(); children.add(categoryVO); // 添加到父节点的children里 categoryVO2.setChildren(children); tmpMap.put(categoryVO2.getId(), categoryVO2); //重置添加children后的map }else{ arrayList.add(categoryVO); } } return categoryList; }

该方法只用了2次遍历。 第一次,遍历所有对象,放到tmpMap中。 第二次,遍历所有对象,通过tmpMap找到每个节点对应的父节点,并添加到父节点children中。然后父节点再放回map。

收藏 评论 分享 举报

上一篇:freemarker报错FTL stack trace ("~" means nesting-related): - Failed at: #include "common-js.ftl"

下一篇:jdbc连接mysql数据库并查询



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3