给定一个如下所示的复杂对象:
case class Complex
(
id: Long,
name: String,
nested: Seq[Complex]
)
Run Code Online (Sandbox Code Playgroud)
在实际操作中,这可能会变成这样:
val stuff =
List(
Complex(1, "name1",
List(
Complex(2, "name2", List()),
Complex(3, "name3",
List(
Complex(4, "name4", List())
)
)
)
)
)
Run Code Online (Sandbox Code Playgroud)
我需要将其变成一个平面Complex对象列表,将所有子/孙子拉起来。
val flattened =
List(
Complex(1, "name1", List()),
Complex(2, "name2", List()),
Complex(3, "name3", List()),
Complex(4, "name4", List()),
)
Run Code Online (Sandbox Code Playgroud)
您对我如何实现这一目标有任何线索/想法吗?
我尝试过的其他解决方案似乎只做简单的列表嵌套。我尝试过的事情:
这些似乎都产生了与我开始时相同的列表。