次のクラスのオブジェクトのリストがあるとします。
class Contact(
val name: String
// ...
)
名前を出現回数にマップするMap<String, Int>
を取得したいと思います。
SQLベースのデータベースでは、次のクエリを実行します。
SELECT name, count(*) FROM Contact GROUP BY name;
高次関数を使用してKotlinでこれを行う最良の方法は何ですか?
連絡先のタイプがList<Contact>
の場合、次のことができます。
val numOccurencesMap = contacts.groupingBy { it.name }.eachCount()
numOccurencesMap
はMap<String, Int>
タイプになります。