Tree.java
public class Tree{
@ApiModelProperty(value = "主键id")
private String id;
@ApiModelProperty(value = "父级id")
private String pid;
@ApiModelProperty(value = "这棵树的果实数量")
private String fruitCount;
@ApiModelProperty(value = "子级")
private List<Tree> children;
public Integer getFruitCount() {
//子树非空
if (CollectionUtil.isNotEmpty(children)) {
//递归获取每棵树的果实
Integer childFruitCount = this.fruitCount;
for (Tree child : children) {
childFruitCount = childFruitCount + child.getFruitCount();
}
return childFruitCount;
} else {
return this.fruitCount;
}
}
}
service{
//1 处理好层级的树
List<Tree> list = new ArrayList();
//2 计算每棵树的果实总和
Integer fruit = 0;
for (Tree tree : list) {
//当前树 + 递归当前树的子树
fruit = fruit + tree.getFruitCount();
}
// 3
System.out.println(fruit);
}
java获取 层级树,每棵树的数值
最新推荐文章于 2024-07-19 17:37:28 发布