如何将2个数组转换为地图

Pit*_*tel 7 kotlin

我有2个数组,一个用字符串作为键,另一个用整数作为值.我怎样才能将它们转换为地图?

val keys = arrayOf("butter", "milk", "apples")
val values = arrayOf(5, 10, 42)
val map: Map<String, Int> = ???
Run Code Online (Sandbox Code Playgroud)

编辑:我知道如何在Kotlin中将List转换为Map?,但它没有解决这个问题,因为我有2个列表.

mar*_*ran 19

您可以将数组压缩在一起以获取对((List<Pair<String, Int>>)的列表,然后用于toMap获取地图.

像这样:

val keys = arrayOf("butter", "milk", "apples")
val values = arrayOf(5, 10, 42)

val map: Map<String, Int> = 
             keys.zip(values) // Gives you [("butter", 5), ("milk", 10), ("apples", 42)]
                 .toMap()     // This is an extension function on Iterable<Pair<K, V>>
Run Code Online (Sandbox Code Playgroud)