将匹配和非匹配元素过滤为元组的不同部分

时间:2013-07-21 19:02:07

标签: scala scala-collections

在Scala中是否有一种简单有效的方法来执行以下操作?

val elements = List(1, 2, 3, 4, 5, 6)
val (odd, even) = elements.filter(_ % 2 == 0)

我知道groupBy,但我希望能够使用可以提取为单独值的常数组的东西。

1 个答案:

答案 0 :(得分:5)

List.partition做你想做的事:

val (even, odd) = elements.partition(_ % 2 == 0)

请注意,它仅适用于两个最终组。