gpt4 book ai didi

java - 如何在kotlin中对多个列表进行元素求和

转载 作者:行者123 更新时间:2023-12-01 07:19:10 27 4
gpt4 key购买 nike

我想按项目组的总和按其计数来组合两个项目列表。对象定义:Item (name:String, count:Long}

var list1 : MutableList<Item> = //From API 1 call
var list2 : MutableList<Item>= //From API 2 call

示例:

Item 1: [{"pen",2}, {"pencil", 3}]
Item 2: [{"pen",6}, {"chair", 2}]

输出如下:

Final list: [{"pen",8}, {"pencil", 3},  {"chair", 2}]

如何使用任何集合内置函数在 kotlin 中实现?

最佳答案

您必须使用groupByreduce :

val itemsCount = (list1 + list2)          // concat lists
.groupBy { it.name } // group items by name
.values // take list of values
.map { // for each list
it.reduce { // accumulate counts
acc, item -> Item(item.name, acc.count + item.count)
}
}

关于java - 如何在kotlin中对多个列表进行元素求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46337751/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com