我是Kotlin的新手,我正在尝试总结一个查询。
我有Map<Int, List<Objects>>
的Int:Month和List<Objects>
那个月的所有操作流程。
我现在要做的是获得一个Map<Int, Long>
,其中Long:所有操作的count()。
我已经通过map,mapValues,折叠...但没有得到正确的答案。
答案 0 :(得分:2)
假设您从:
开始val monthOfOperations: Map<Int, List<Operation>>
然后你可以简单地说:
val monthOfOperationCounts = monthOfOperations.mapValues { it.value.size }
// result: Map<Int, Int> of Month to Count of Operations
请注意,结果为Map<Int, Int>
,因为集合大小为Int
而非Long
。如果真的需要Long
:
val monthOfOperationCounts = monthOfOperations.mapValues { it.value.size.toLong() }
// result: Map<Int, Long> of Month to Count of Operations
但没有理由在Int
中存储Long
值。