首页 > 解决方案 > 如何在 Kotlin 的列表中创建包含每两个项目的地图?

问题描述

我正在尝试创建一个从列表中获取两个值并使用第一个值作为键和第二个键作为值的映射,但我不知道该怎么做。

假设我有一个如下列表。

-e, normal, -t, flat, -s,test

如何从该列表中创建如下所示的地图?

-enormal-tflat-stest

标签: kotlin

解决方案


如果您想使用内置函数,chunked可以快速执行此操作:

val arguments = listOf("-e", "normal", "-t", "flat", "-s", "test")

val map: Map<String, String> = arguments
        .chunked(2) { (switch, value) -> switch to value }
        .toMap()

println(map) // {-e=normal, -t=flat, -s=test}

推荐阅读