如何在kotlin中收集配对流?

如何在kotlin中收集配对流?,kotlin,Kotlin,如何在kotlin中收集配对流? 所以在Java中,我通常会: Stream.of("1", "2", "3").map(x -> new AbstractMap.SimpleEntry<>(x, x)).collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue)) 返回一个成对的流,我找不到方法来收集它 在Kotlin中,使用listOf比使用Java的Stream.of更自然。一旦你有了一个列表,你就可

如何在kotlin中收集配对流? 所以在Java中,我通常会:

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

返回一个成对的流,我找不到方法来收集它

在Kotlin中,使用listOf比使用Java的Stream.of更自然。一旦你有了一个列表,你就可以使用.toMap扩展名把它们变成地图

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

这看起来更干净,IMHO。

在Kotlin中,使用listOf比使用Java的Stream.of更自然。一旦你有了一个列表,你就可以使用.toMap扩展名把它们变成地图

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

这个看起来更简洁,IMHO。

因为您使用列表元素本身作为键,使用将使代码更加简洁:

val myMap = listOf("1", "2", "3").associateWith{ it }
结果:

{1=1,2=2,3=3}


由于使用列表元素本身作为键,使用将使代码更加简洁:

val myMap = listOf("1", "2", "3").associateWith{ it }
结果:

{1=1,2=2,3=3}


也许我做错了什么,但基本上在我的映射完成后,我得到了一个流,而这似乎没有toMap方法。例如:listOfPair1,2,Pair3,4.stream.map{it->it}您不需要一直插入流。如果您已经有一个列表。。。清单1、2。Tomapi如果您已经静态定义了key/valyes,那么映射1到2、3到4将是您的最佳选择you@Todd知道了。使用流是一个问题。我没有意识到在Kotlin中你不需要使用Stream也许我做错了什么,但基本上在我的地图绘制完成后,我得到了一条流,而这似乎没有toMap方法。例如:listOfPair1,2,Pair3,4.stream.map{it->it}您不需要一直插入流。如果您已经有一个列表。。。清单1、2。Tomapi如果您已经静态定义了key/valyes,那么映射1到2、3到4将是您的最佳选择you@Todd知道了。使用流是一个问题。没有意识到在Kotlin你不需要使用流