【发布时间】:2019-03-18 10:39:32
【问题描述】:
我有一个java类
class Example{
String field1;
String field2;
List<Example> subExamples;
}
在上述场景中,Example 有 subExamples,它又是一个 Example 列表。这种嵌套可以是 n 级。我想要实现的是拥有一个示例列表,即将上述对象展平并将所有示例收集到最终列表中(收集所有 n 级示例)。一种明显的方法是递归。 Java中有什么方法可以更有效地实现它。我尝试了一些 java 8 概念,但它们不符合要求。
【问题讨论】:
-
flatMap带有递归。另见this -
你可以使用
Queue代替递归 -
@Flown 很有趣,但我看不出没有递归怎么可能。可以提供答案吗?
-
@Eugene 看我的回答,它是广度优先搜索的一种实现(也可以采用深度优先搜索的方式)。
标签: java collections java-8 java-stream