我有一个简单的问题,但我似乎不能使用预定义的方法在Kotlin能够做到这一点。这就是我想要解决的问题。
data class A(val id: Int, val amount: Int)
private List<A> generateTotal(listOfA : List<A>)列表中有两个重复的id。例如:
A(1, 2), A(1,3), A(2,1)generateTotal应该返回A(1, 5)和A(2,1),其中对上面列表中的两个元素进行了求和。
使用Kotlin现有的一些功能,这是可行的吗?
谢谢
发布于 2022-01-14 19:45:07
这样就行了。结果Map的值是具有相同ID的项目列表,因此我们可以将这些列表映射到单个项目中。
private fun generateTotal(listOfA: List<A>): List<A> =
listOfA.groupBy(A::id)
.values.map { A(it[0].id, it.sumOf(A::amount)) }https://stackoverflow.com/questions/70715718
复制相似问题