Kotlin 中的 MutableList 到 MutableMap
MutableList to MutableMap in Kotlin
我有一个属于自定义 class 费用的可变对象列表。
Class 费用具有以下属性:
- 数量
- 类别
我想通过遍历上面的列表来创建一个可变映射,结果应该如下所示:
category_1 :类别为 category_1 的所有金额的总和
category_2 :类别为 category_2 的所有金额的总和
...
如果可能的话,我正在寻找单班机。 Kotlin 惯用代码。
这是我目前拥有的:
listOfExpenses.associateTo(expensesByCategory) {it.category to it.amount}
我需要最后一部分:it.amount 以某种方式成为属于某个类别的所有金额的总和。
listOfExpenses是Expense对象列表,expensesByCategory是我要修改的map
我知道这不止一行,但它可以满足您的需要
val expensesByCategory = listOfExpenses
.groupBy { it.category }
.mapValues { it.value.sumBy { it.amount } }
我有一个属于自定义 class 费用的可变对象列表。 Class 费用具有以下属性:
- 数量
- 类别
我想通过遍历上面的列表来创建一个可变映射,结果应该如下所示:
category_1 :类别为 category_1 的所有金额的总和
category_2 :类别为 category_2 的所有金额的总和
...
如果可能的话,我正在寻找单班机。 Kotlin 惯用代码。
这是我目前拥有的:
listOfExpenses.associateTo(expensesByCategory) {it.category to it.amount}
我需要最后一部分:it.amount 以某种方式成为属于某个类别的所有金额的总和。
listOfExpenses是Expense对象列表,expensesByCategory是我要修改的map
我知道这不止一行,但它可以满足您的需要
val expensesByCategory = listOfExpenses
.groupBy { it.category }
.mapValues { it.value.sumBy { it.amount } }