【发布时间】:2019-11-26 13:44:46
【问题描述】:
在 Scala 中,是否可以更有效地使用平面图来处理包含要分解的数组的案例类?
这是一个有效的代码,但看起来不正确:
object stuff {
def main(args: Array[String]): Unit = {
case class Stuff(name: String, stuff: Seq[String])
case class FlatStuff(name: String, stuff: String)
val someStuff = Array(Stuff("a", Seq("1", "2", "3")), Stuff("b", Seq("4", "5")))
val stuffs = someStuff.flatMap(item => {
val flatten = new Array[FlatStuff](item.stuff.length)
for (i <- 0 until item.stuff.length) {
flatten(i) = FlatStuff(item.name, item.stuff(i))
}
flatten
})
stuffs.foreach(stuff => println(stuff))
}
}
【问题讨论】:
-
对于最后一行,你可以只写“stuffs.foreach(stuff => println(stuff))”而不是“stuffs.foreach(println)”。
标签: scala scala-collections flatten flatmap