コレクション内で最も頻繁に使用される/一般的な要素を見つける最良の方法は何ですか? 例えば:
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
) に対応するキー ( ) を選択します。(ネストされた質問:それを行う最善の方法は何ですか?)。しかし、そのような単純な操作には大変な作業のように思えます..?
これを行うためのより良い/より慣用的な方法はありますか?