在Java 8中,Stream.map()和Stream.flatMap()方法有什么区别?
我可以在 Scala 中使用以下方法轻松实现这一点:
def permute(xs: List[Int], ys: List[Int]) = {
for {x <- xs; y <- ys} yield (x,y)
}
Run Code Online (Sandbox Code Playgroud)
所以如果我给它 {1, 2}, {3, 4} 我返回 {1, 3}, {1, 4}, {2, 3}, {2, 4}
我希望能够使用流将其转换为 java 8。
我遇到了一些困难,我希望能够将其扩展得更远,因为我希望能够从两个以上的列表中生成许多排列的测试样本。
即使使用流,它是否也不可避免地会成为嵌套的混乱,还是我不够应用自己?
在意识到我正在寻找笛卡尔积后发现了一些额外的答案: