からだのブログ

五体満足に生まれてきたことに感謝してブログの名前を「からだ」にしました。

からだのブログ header image 2

数を数える

10月 15th, 2012 · No Comments · programming, Scala

よくありがちな処理。リストの要素の数をそれぞれいくつあるか数える。

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 する、なんて糞みたいな処理書かないでいいんだね!

Tags: