java迭代嵌套列表(任意深度)
如何迭代嵌套列表(任意深度)?我有以下结构
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));
}
}
# 1 楼答案
使用Level方法进行展平以生成对流(公司及其深度):
然后,您可以按照需要的方式打印所有流元素:
# 2 楼答案
假设您没有循环公司引用(因此没有子公司指向其父公司之一),您可以这样递归地执行此操作:
# 3 楼答案
水流进近