Scala 使用默认值实例化映射

Scala 使用默认值实例化映射,scala,Scala,因此,我有一个字符列表,我必须创建一个列表,其中列出每种字符的数量 ( List(a,a,a,a,b,b) => List ( (a,4), (b,3)) 我想创建一个地图,首先将每个字符列为1 ( (a->1), (a->1), (a->1), (a->1), (b->1), (b->1)) 然后使用GROUPBY+tolist返回最终列表。问题是创建地图需要该语言的博士学位 我试过了 val m = xs.foldLeft(Map[Char

因此,我有一个字符列表,我必须创建一个列表,其中列出每种字符的数量

( List(a,a,a,a,b,b)   => List ( (a,4), (b,3))
我想创建一个地图,首先将每个字符列为1

( (a->1), (a->1), (a->1), (a->1), (b->1), (b->1)) 
然后使用GROUPBY+tolist返回最终列表。问题是创建地图需要该语言的博士学位

我试过了

val m = xs.foldLeft(Map[Char,Int]()){c => c->1}
这不管用

xs map (x=> x-> 1) toMap 
编译完成了,但之后我不能用这张地图做任何事情

xs.toMap(x,1)
这也不行


有人能告诉我应该如何进行吗?

您可以使用
groupBy
进行分组,然后找到每组的计数:

list.groupBy(identity).mapValues(_.length)

您可以使用
l.groupBy(identity)
(而不是
l.groupBy(identity)
)。@Marth-谢谢,修复了。