首页 > 编程语言 > 详细

Java通用树构建方法

时间:2020-03-31 15:34:09      阅读:127      评论:0      收藏:0      [点我收藏+]
今天写了一个通用树构建方法,非常通用和简单,分享出来

基础类
@Data
public class Tree<T> { String id; String pId; List<T> children; } 测试类 @Data public class TreeDemo extends Tree<TreeDemo> { String name; } 工具类 public class TreeUtils { public static List buildTree(List<Tree> trees, String pId) { for (Tree tree : trees) { for (Tree tree1 : trees) { if (tree1.getPId().equals(tree.getId())) { if (tree.getChildren() == null) { tree.setChildren(new ArrayList()); } tree.getChildren().add(tree1); } } } return trees.stream().filter(tree -> tree.getPId().equals(pId)).collect(Collectors.toList()); } }
测试方法

public static void main(String[] args) {
    List<TreeDemo> treeDemo = TreeUtils.buildTree(Arrays.asList(new TreeDemo(){{
setId("1");
setName("name");
setPId("-1");
}},new TreeDemo(){{
setId("2");
setName("name-1");
setPId("1");
}},new TreeDemo(){{
setId("3");
setName("name-2");
setPId("1");
}}),"-1");
System.out.println(treeDemo);
}
 

 

Java通用树构建方法

原文:https://www.cnblogs.com/bootdo/p/12605361.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!