【发布时间】:2018-04-01 17:31:38
【问题描述】:
我有几个列表:
val aa = Seq(1,2,3,4)
val bb = Seq(Seq(2.0,3.0,4.0,5.0), Seq(1.0,2.0,3.0,4.0))
val cc = Seq("a", "B")
并希望将它们组合成所需的格式:
(1, 2.0, a), (2, 3.0, a), (3, 4.0, a), (4, 5.0, a), (1, 1.0, b), (2, 2.0, b), (3, 3.0, b), (4, 4.0, b)
但是我的 zip 和 flatMap 的组合
(aa, bb,cc).zipped.flatMap{
case (a, b,c) => {
b.map(b1 => (a,b1,c))
}
}
只生产
(1,2.0,a), (1,3.0,a), (1,4.0,a), (1,5.0,a), (2,1.0,B), (2,2.0,B), (2,3.0,B), (2,4.0,B)
在 java 中,我将只迭代 bb,然后再次在嵌套循环中迭代值。
为了使用简洁的函数式 scala 获得所需格式的数据,我需要进行哪些更改?
【问题讨论】:
标签: scala functional-programming combinations sequence