Учитывая сложный объект, подобный следующему:
case class Complex
(
id: Long,
name: String,
nested: Seq[Complex]
)
В действии это может превратиться в нечто вроде этого:
val stuff =
List(
Complex(1, "name1",
List(
Complex(2, "name2", List()),
Complex(3, "name3",
List(
Complex(4, "name4", List())
)
)
)
)
)
Мне нужно превратить его в плоский список Complex
предметов, тянущих всех детей / внуков.
val flattened =
List(
Complex(1, "name1", List()),
Complex(2, "name2", List()),
Complex(3, "name3", List()),
Complex(4, "name4", List()),
)
Есть ли у вас какие-либо подсказки / идеи о том, как я могу это сделать?
Кажется, что другие решения, которые я пробовал, делают только простое вложение списков.Вещи, которые я пробовал:
Похоже, все они дают один и тот же список, с которого я начал.