抱歉,如果这是一个愚蠢的问题,因为我很确定这是简单的,但我正在努力找到一个干净的方法来创建一个 map 从两个列表.
我很确定我可以做一个循环和遍历每一个,但我想判断是否有一种方法来做到这一点,是更有视觉吸引力.
例如:
val list1 = listOf("One", "Two", "Three")
val list2 = listOf(1, 2, 3)
//result would be => {One=1, Two=2, Three=3}
抱歉,如果这是一个愚蠢的问题,因为我很确定这是简单的,但我正在努力找到一个干净的方法来创建一个 map 从两个列表.
我很确定我可以做一个循环和遍历每一个,但我想判断是否有一种方法来做到这一点,是更有视觉吸引力.
例如:
val list1 = listOf("One", "Two", "Three")
val list2 = listOf(1, 2, 3)
//result would be => {One=1, Two=2, Three=3}
注意:这假设您已经判断了两个列表包含相同数量的元素.
您可以使用zip函数创建一个List<Pair<String, Int>>
,然后使用toMap对结果的对列表.zip
函数的结果列表将具有较小列表的大小.
val list1 = listOf("One", "Two", "Three")
val list2 = listOf(1, 2, 3)
val myMap = list1.zip(list2).toMap()
如果你需要在其中任一项上应用任何转换,你可以使用associate.例如,这里我们将字符串写入upper care并递增int.
val myMap = list1.zip(list2).associate { it.first.uppercase() to it.second + 1 }