【发布时间】:2017-03-24 12:31:37
【问题描述】:
我有一个实体自引用。
public class Category {
private List<Category> children;
}
使用给定的类别列表,我怎样才能将它们全部展平?
C11
C21
C31
C32
C22
C12
我想要一份清单
C1 C21 C31 C32 C22 C12
我试过了。
public static <T extends BaseEntity & SelfReferencing<T>> void flatten(
final T parent, final Function<T, Stream<T>> function,
final Consumer<T> consumer) {
function.apply(parent).forEach(child -> {
consumer.accept(child);
flatten(child, function, consumer);
});
}
【问题讨论】:
-
@talex 查看我的更新。
-
这个函数不返回任何东西,它只是遍历所有元素。
标签: java list java-stream flatten self-reference