小编A.R*_*ost的帖子

合并地图kotlin中的值

我需要合并地图mapAmapB成对的"名称" - "电话号码"到最终地图中,将重复键的值粘在一起,用逗号分隔.重复值只应添加一次.在语言方法方面,我需要最惯用和最正确的方法.

例如:

val mapA = mapOf("Emergency" to "112", "Fire department" to "101", "Police" to "102")
val mapB = mapOf("Emergency" to "911", "Police" to "102")
Run Code Online (Sandbox Code Playgroud)

最终结果应如下所示:

{"Emergency" to "112, 911", "Fire department" to "101", "Police" to "102"}
Run Code Online (Sandbox Code Playgroud)

这是我的功能:

fun mergePhoneBooks(mapA: Map<String, String>, mapB: Map<String, String>): Map<String, String> {
    val unionList: MutableMap <String, String> = mapA.toMutableMap()
    unionList.forEach { (key, value) -> TODO() } // here's I can't come on with a beatiful solution

    return unionList
}
Run Code Online (Sandbox Code Playgroud)

java kotlin

9
推荐指数
2
解决办法
5382
查看次数

如何从集合中返回多个元素?

在列表中,我需要用这个元素和所有先前元素的总和替换每个元素.第一个元素不需要更改.示例:必须转换列表(1.0,2.0,3.0,4.0)(1.0,3.0,6.0,10.0).我正在寻找最简洁和正确的方法.

我谷歌上搜索了很长时间,无法找到任何有关元素转换的有用信息.另外,我在Kotlinlang.org的标准库中找不到所需的功能.请帮忙解决这个问题.

fun accumulate(list: MutableList<Double>): MutableList<Double> {
    if (list.isEmpty()) return list
    else for (i in 0 until list.size) {
        if (i == list.indexOf(list.first())) list[i] = list.first()
        else list[i] = list.sumByDouble { it } // here's my problem
    }
    return list
}
Run Code Online (Sandbox Code Playgroud)

java kotlin

3
推荐指数
1
解决办法
129
查看次数

标签 统计

java ×2

kotlin ×2