如何为scala中的可遍历[(K,V)]编写通用groupByKey<;=2.12

如何为scala中的可遍历[(K,V)]编写通用groupByKey<;=2.12,scala,generics,scala-collections,Scala,Generics,Scala Collections,从List[(K,V)]到Map[K,List[V]]编写函数非常简单: def groupByKey[K,V]( 成对:列表[(K,V)] ):映射[K,列表[V]]= 对 .groupBy(u.u 1) .mapValues(0.map(0.2)) 但它是特定于集合类型的,这似乎很遗憾 我当然可以把它概括为 def groupByKey[K,V]( 成对:可遍历[(K,V)] ):映射[K,可遍历[V]]= 对 .groupBy(u.u 1) .mapValues(0.map(0.2))

List[(K,V)]
Map[K,List[V]]
编写函数非常简单:

def groupByKey[K,V](
成对:列表[(K,V)]
):映射[K,列表[V]]=
对
.groupBy(u.u 1)
.mapValues(0.map(0.2))
但它是特定于集合类型的,这似乎很遗憾

我当然可以把它概括为

def groupByKey[K,V](
成对:可遍历[(K,V)]
):映射[K,可遍历[V]]=
对
.groupBy(u.u 1)
.mapValues(0.map(0.2))
但是现在我有了一个
可遍历的
,我非常喜欢我输入的相同类型,因为
groupBy
为我做了这件事。

解决了这个问题

作为一种方法:

def groupByKey[K,V,Repr