gpt4 book ai didi

Java 8 流合并内部流结果到上面的流

转载 作者:搜寻专家 更新时间:2023-11-01 01:49:48 25 4
gpt4 key购买 nike

也许这是变态,但我想将内部流的结果合并到上面级别的流中。

例如,我们有一些包含数据的复杂 map :

Map<String, List<Map<String, Object>>> dataMap

我需要收集所有要列出的对象。现在我这样做:

Set<Object> segmentIds = new HashSet<>();
dataMap.values().forEach(maps -> maps.forEach(map -> segmentIds.add(map.get("object"))));

但这不是很好的方式。但是我不明白如何将数据从内循环传输到外循环并最终收集它们。

是否可以在没有任何外部对象的情况下做到这一点?

最佳答案

怎么样:

Set<Object> collect = dataMap.values()
.stream()
.flatMap(Collection::stream)
.map(map -> map.get("object"))
.collect(Collectors.toSet());

关于Java 8 流合并内部流结果到上面的流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42838946/

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