在集合中找到最常见/最常见元素的最佳方法是什么?例如:
list = List(1, 3, 4, 4, 2)
list.mostCommon // => 4 !! This is what I want !!
嗯..一个人可以做的是先做一个groupBy
,然后再做map
一个length
,然后选择最大的一个。那么你会得到:
Map(1 -> List(1), 4 -> List(4, 4), 3 -> List(3), 2 -> List(2))
(...)
Map(1 -> 1, 4 -> 2, 3 -> 1, 2 -> 1) // mapped by length. 4 -> 2 since there's two 4s
最后,选择4
映射到最高数字 ( ) 的键 ( 2
)。(嵌套问题:最好的方法是什么?)。但是对于这样一个简单的操作来说,这似乎需要做很多工作..?
有没有更好/更惯用的方法来做到这一点?