java递归生成树型结构方式
更新时间:2024年12月17日 16:41:57 作者:青艾_XY
文章介绍了如何使用Java递归生成树形结构,包括获取数据、生成树形结构、查询子节点等步骤,作者分享了自己的经验,希望能对大家有所帮助
java递归生成树
1.获取数据
public List<TreeClassifyRespVO> getTreeClassifyList(ClassifyPageReqVO reqVO) { List<ClassifyDO> classifyList = classifyMapper.selectList(reqVO); List<TreeClassifyRespVO> childClassifyResp = ClassifyConvert.INSTANCE.convertList01(classifyList); return getClassifyTree(childClassifyResp); }
2.生成树形结构
public List<TreeClassifyRespVO> getClassifyTree(List<TreeClassifyRespVO> childClassifyResp) { // 返回的树形数据 List<TreeClassifyRespVO> tree = new ArrayList<TreeClassifyRespVO>(); // 第一次遍历 for (TreeClassifyRespVO treeClassify : childClassifyResp) { // 找到根节点,这里我的根节点的pid为0 if (treeClassify.getPid()==0) { tree.add(findChild(treeClassify, childClassifyResp)); } } return tree; }
3.查询子节点
private TreeClassifyRespVO findChild(TreeClassifyRespVO treeClassify, List<TreeClassifyRespVO> list) { // 定义list用于存储子节点 List<TreeClassifyRespVO> children = new ArrayList<TreeClassifyRespVO>(); for (TreeClassifyRespVO node : list) { // 找到根节点,这里我的根节点的pid为0 if (node.getPid().equals(treeClassify.getId())) { // 调用递归 children.add(findChild(node, list)); } } treeClassify.setChildren(children); return treeClassify; }
4.效果
总结以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
使用Mybatis Generator结合Ant脚本快速自动生成Model、Mapper等文件的方法
这篇文章主要介绍了使用Mybatis Generator结合Ant脚本快速自动生成Model、Mapper等文件的方法的相关资料,需要的朋友可以参考下2016-06-06如何解决EasyExcel导出文件LocalDateTime报错问题
这篇文章主要介绍了如何解决EasyExcel导出文件LocalDateTime报错问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2023-06-06
最新评论