首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Kotlin -如何在列表中添加重复元素的计数以生成另一个列表

Kotlin -如何在列表中添加重复元素的计数以生成另一个列表
EN

Stack Overflow用户
提问于 2022-01-14 19:35:39
回答 1查看 370关注 0票数 0

我有一个简单的问题,但我似乎不能使用预定义的方法在Kotlin能够做到这一点。这就是我想要解决的问题。

代码语言:javascript
运行
复制
data class A(val id: Int, val amount: Int)

private List<A> generateTotal(listOfA : List<A>)

列表中有两个重复的id。例如:

代码语言:javascript
运行
复制
A(1, 2), A(1,3), A(2,1)

generateTotal应该返回A(1, 5)A(2,1),其中对上面列表中的两个元素进行了求和。

使用Kotlin现有的一些功能,这是可行的吗?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-14 19:45:07

这样就行了。结果Map的值是具有相同ID的项目列表,因此我们可以将这些列表映射到单个项目中。

代码语言:javascript
运行
复制
private fun generateTotal(listOfA: List<A>): List<A> =
    listOfA.groupBy(A::id)
        .values.map { A(it[0].id, it.sumOf(A::amount)) }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70715718

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档