new AbstractMap.SimpleEntry<>(x-6ren">
gpt4 book ai didi

kotlin - 如何在Kotlin中收集配对流?

转载 作者:行者123 更新时间:2023-12-02 13:08:56 24 4
gpt4 key购买 nike

如何在Kotlin中收集配对流?
因此,在Java中,我通常这样做:

Stream.of("1", "2", "3").map(x -> new AbstractMap.SimpleEntry<>(x, x)).collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue))

但是在 Kotlin ,
Stream.of("1", "2", "3").map{ x -> x to x } 

返回成对的流,我找不到收集该流的方法。

最佳答案

在Kotlin中,使用listOf()比使用Java的Stream.of()更自然。一旦有了List<Pair>,您就可以使用.toMap()扩展名将它们变成 map !

val myMap: Map<String, String> = listOf("1", "2", "3").map{ it to it }.toMap()

在lamtda的情况下, .associate()上还有 List函数可以为您创建 map :
val myMap2: Map<String, String> = listOf("1", "2", "3").associate { it to it }

那个看起来比较干净,恕我直言。

关于kotlin - 如何在Kotlin中收集配对流?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52544386/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com