kotlin - 如何在 Kotlin 的列表中创建包含每两个项目的 map ?

标签 kotlin

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

假设我有一个如下列表。

-e正常-tflat-s , 测试

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

-enormal-tflat-s 测试

最佳答案

如果你想使用内置函数,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}

关于kotlin - 如何在 Kotlin 的列表中创建包含每两个项目的 map ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50076861/

相关文章:

android - 如何将 editText 值传递给 viewModel 和 Livedata (Kotlin)

android - Kotlin 对委托(delegate)属性的注解

sockets - 使用Kotlin + Sockets +协程的标准方式是什么?

android - 如何在 kotlin 中使用 Android Support typedef 注解?

android - 安全购买溢价 IAP

未调用 Android MotionLayout 转换监听器

android-studio - 如何将 List<String> 保存到 Kotlin 中的 SharedPreferences?

android - "x"隐藏父类(super class)型 'Enum' 的成员并需要 'override' 修饰符 - Kotlin

arrays - 如何从Kotlin中的ArrayList中删除项目

kotlin - Kotlin脚本无法实例化类