假设我有一个以下类的对象列表。

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/

10-14 16:07