在 Kotlin 的 groupBy 中如何展平嵌套列表?

3

我有一个对象结构。

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 中展平 map 中的值吗?

1个回答

4

你可以使用 mapValues 函数

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

运行得非常好!非常感谢 @IR42。我试了将近一个小时! - Prasad

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接