假设我有一个以下类的对象列表。
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>
类型。关于kotlin - 如何在Kotlin中使用GROUP BY进行COUNT(*)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44903592/