gpt4 book ai didi

Java 8 将列表流放入具有相同值的映射中

转载 作者:行者123 更新时间:2023-11-30 02:41:21 26 4
gpt4 key购买 nike

我的处境很奇怪。无论如何,是否可以将列表流式传输到具有相同值的 map ?

a属于 Map< Integer, List< String > > 类型

比方说b只是与 a 的键对应的整数列表.

b.stream().map(x ->
a.get(x).stream()
.collect(
Collectors.toMap(i -> i, x);
)
);

我想要一个所有值都是 x 的 map 所有的键都来自 b 中的值.

上面的函数应该返回 Stream< List< Map< String, Int > > > (显然它不起作用)

最佳答案

toMap 中的第二个值方法也需要是 lambda (即它需要满足接口(interface) Function<? super T, ? extends U> ,其中 Tb 流中对象的类型,而 U 是结果中值的类型 map ):

Map<Integer, List<String>> a = ...
List<Integer> b = ...
Stream<Map<String, Integer>> c = b.stream().map(x ->
a.get(x).stream()
.collect(Collectors.toMap(i -> i, i -> x)));

关于Java 8 将列表流放入具有相同值的映射中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41603402/

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