よくありがちな処理。リストの要素の数をそれぞれいくつあるか数える。
scala> val list = List(1,2,2,1,4,2,3,1)
list: List[Int] = List(1, 2, 2, 1, 4, 2, 3, 1)
scala> val counts = list.groupBy(identity).mapValues(_.size)
res4: scala.collection.immutable.Map[Int,Int] = Map(3 -> 1, 1 -> 3, 4 -> 1, 2 -> 3)
scala> counts(1)
res5: Int = 3
もう、ループ回してキーがなかったら 1 にして、キーあったら +1 する、なんて糞みたいな処理書かないでいいんだね!