斯卡拉我如何计算列表中发生的次数

val list = List(1,2,4,2,4,7,3,2,4)

我想要像这样实现它: list.count(2) (返回3)。


其他答案之一的更清晰的版本是:

val s = Seq("apple", "oranges", "apple", "banana", "apple", "oranges", "oranges")

s.groupBy(identity).mapValues(_.size)

给原始序列中的每个项目计数一个Map

Map(banana -> 1, oranges -> 3, apple -> 3)

该问题询问如何查找特定项目的计数。 采用这种方法,解决方案需要将期望的元素映射到其计数值,如下所示:

s.groupBy(identity).mapValues(_.size)("apple")

斯卡拉集合确实有countlist.count(_ == 2)


我遇到了与Sharath Prabhal相同的问题,并且我得到了另一个(对我来说更清晰)的解决方案:

val s = Seq("apple", "oranges", "apple", "banana", "apple", "oranges", "oranges")
s.groupBy(l => l).map(t => (t._1, t._2.length))

结果如下:

Map(banana -> 1, oranges -> 3, apple -> 3)
链接地址: http://www.djcxy.com/p/86187.html

上一篇: Scala how can I count the number of occurrences in a list

下一篇: Why does C need "struct" keyword and not C++?