scalal groupby分组
时间: 2023-08-26 21:06:59 浏览: 84
在Scala中,可以使用groupBy方法进行分组,其语法如下:
```
def groupBy[K](f: (A) => K): Map[K, List[A]]
```
其中,`f` 是一个函数,用于将元素 `A` 映射为键 `K`,返回的是一个 `Map`,其中键是 `K`,值是由 `A` 元素组成的列表。
例如,假设有一个包含整数的列表,我们可以按照它们的奇偶性进行分组,代码如下:
```scala
val numbers = List(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
val groups = numbers.groupBy(n => if (n % 2 == 0) "even" else "odd")
println(groups)
```
输出:
```
Map(odd -> List(1, 3, 5, 7, 9), even -> List(2, 4, 6, 8, 10))
```
可以看到,`groupBy` 方法将列表中的奇数分组到了 "odd" 键下,偶数分组到了 "even" 键下。
阅读全文