使用默认值实例化地图

时间:2014-11-03 12:25:49

标签: 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)) 

然后使用group by + tolist返回最终列表。问题是创建一个地图需要这种语言的PHD。

我试过

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

哪个不起作用。

xs map (x=> x-> 1) toMap 

哪个编译但之后我无法对此地图做任何事情。

xs.toMap(x,1) 哪个也不起作用。

有人可以告诉我应该如何处理吗?

1 个答案:

答案 0 :(得分:4)

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

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