gpt4 book ai didi

java - 迭代嵌套列表(任何深度)

转载 作者:行者123 更新时间:2023-12-03 18:47:45 25 4
gpt4 key购买 nike

如何迭代嵌套列表(任何深度)?我有以下结构

Com 1
Com 2
Com 55
Com 551
Com 552
Com 56
Com 57
Com 66
Com 67
Com 99
Com 3
Com 33
Com 34
Com 35
Com 4
Com 41
Com 42
Com 421
Com 423
我想将数据导出到具有层次结构的 txt 文件。如何检测何时应该添加“空间”以建立层次结构?
@Entity
public class Company {
private Long id;
private String name;
private List<Company> children = new ArrayList<>();


public Company() {
}

//getters and setters

public Stream<Company> flattened() {
return Stream.concat(
Stream.of(this),
children.stream().flatMap(Company::flattened));
}
}

最佳答案

假设您没有循环公司引用(因此没有子公司指向其父公司之一),您可以像这样递归地执行此操作:

public static void print(Company company, int depth) {
for (int i = 0; i < depth; i++) {
System.out.print(" ");
}
System.out.println(company.getName());
for (Company child : company.getChildren()) {
print(child, depth + 1);
}
}

关于java - 迭代嵌套列表(任何深度),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67599419/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com