如何在 Kotlin 的 groupBy 中展平列表值列表

How to flatten list of list values in groupBy in Kotlin

我有一个对象结构

data class File(val travelBatch: List<TravelBatch>) {
    data class TravelBatch(
        val currency: String,
        val transactions: List<Transaction>
    )
}

我想要一张货币到交易的地图。我试过的下面的代码给出了 Map<String, List<List<Transaction>>我要Map<String, List<Transaction>

file.travelBatch.groupBy({it.currency}, {it.transactions})

需要帮助在 kotlin 中展平地图中的值?

您可以使用mapValues

val result = file.travelBatch
    .groupBy({ it.currency }, { it.transactions })
    .mapValues { it.value.flatten() }