【问题标题】:How to do a COUNT(*) with GROUP BY in Kotlin?如何在 Kotlin 中使用 GROUP BY 进行 COUNT(*)?
【发布时间】:2017-07-04 10:33:25
【问题描述】:

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

class Contact(
    val name: String
    // ...
)

我想检索一个Map<String, Int>,它将名称映射到其出现次数。

在基于 SQL 的数据库上我会查询:

SELECT name, count(*) FROM Contact GROUP BY name;

在 Kotlin 中使用高阶函数执行此操作的最佳方法是什么?

【问题讨论】:

    标签: kotlin higher-order-functions


    【解决方案1】:

    如果联系人是List<Contact> 类型,您可以执行以下操作:

    val numOccurencesMap = contacts.groupingBy { it.name }.eachCount()
    

    numOccurencesMap 的类型为 Map<String, Int>

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-30
      • 2023-03-18
      • 2017-02-24
      • 1970-01-01
      • 2021-10-02
      • 2016-10-11
      • 2013-10-06
      • 1970-01-01
      相关资源
      最近更新 更多