首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MutableList变换

MutableList变换
EN

Stack Overflow用户
提问于 2020-12-08 06:16:10
回答 1查看 38关注 0票数 0

我有一个需要转换/映射到SortedMap<String, Double>SortedMap<String, MutableList<Double>>类型。第一个类型中的MutableList<Double>表示一个费用列表,现在我想将所有这些费用相加为一个总数,并使用该总数。两种类型的String对象保持不变。

目前我有这样的实现:

代码语言:javascript
复制
val sortedEntryMap = dateToEntriesMap.toSortedMap() // SortedMap<String, MutableList<Double>>
val dailyEntryList = mutableListOf<Pair<String, Double>>()
for ( dailyEntry in sortedEntryMap ) {
   var dailyTotal = 0.0
   for (entry in dailyEntry.value ) {
      dailyTotal += entry
   }
   dailyEntryList.add(Pair(dailyEntry.key, dailyTotal))
}

但我希望有一些更干净(更多Kotlin)的实现。类似于:dailyEntryList = sortedEntryMap.map { something, something }地图()方法可能不是要使用的方法,但我只是在想,是否有一种方法可以在一行代码中做到这一点?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-08 07:59:56

你可以直接做

代码语言:javascript
复制
sortedEntryMap.mapValues { (_, v) -> v.sum() }

获取具有相同键和转换值的映射

https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/map-values.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65190271

复制
相关文章

相似问题

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