Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何做地图的地图列表?_Java_Java Stream - Fatal编程技术网

Java 如何做地图的地图列表?

Java 如何做地图的地图列表?,java,java-stream,Java,Java Stream,我有这个密码 Set<String> ccy = groupedPortfolio.values().stream() .map(accountStatusListMap -> accountStatusListMap.values().stream() .map(portfolios -> portfolios.stream().map(Portfolio::getCcy))) .c

我有这个密码

Set<String> ccy = groupedPortfolio.values().stream()
            .map(accountStatusListMap -> accountStatusListMap.values().stream()
                    .map(portfolios -> portfolios.stream().map(Portfolio::getCcy)))
            .collect(Collectors.toSet());
Set ccy=groupedPortfolio.values().stream()
.map(accountStatusListMap->accountStatusListMap.values().stream())
.map(公文包->公文包.stream().map(公文包::getCcy)))
.collect(收集器.toSet());
用于从groupedPortfolio(从组合映射到货币集的映射)转换。 我的代码中有一个错误

Required type: Set<String>
Provided: Set<Stream<Stream<UUID>>>
所需类型:Set
提供:套

如何正确执行此操作?

除了您的解决方案之外,还可以找到其他解决方案:

设置ccy=groupedPortfolio.values().stream()
.map(accountStatusListMap->accountStatusListMap.values().stream().map(集合::流)
.flatMap(x->x)
.collect(收集器.toSet())
.stream().map(公文包::getCcy)
.collect(收集器.toSet())
.collect(收集器.toSet())
.stream()
.map(集合::流)
.flatMap(a->a)
.collect(收集器.toSet())


查看此

中的完整代码,我将尝试此方法。将所有数据流转换为一个大型投资组合。 然后通过地图检索所需信息

Set<String> ccy = groupedPortfolio.values()
     .stream()
     .flatMap(accountStatusListMap -> accountStatusListMap.values().stream())
     .flatMap(List::stream).map(Portfolio::getCcy)
     .collect(Collectors.toSet());
Set ccy=groupedPortfolio.values()
.stream()
.flatMap(accountStatusListMap->accountStatusListMap.values().stream())
.flatMap(List::stream).map(Portfolio::getCcy)
.collect(收集器.toSet());

您得到的accountId似乎是UUID,而不是字符串货币?请提供有关对象的更多详细信息,并尝试在流中转换集合时使用
flatMap
而不是
map
,您需要将它们展平。向我们展示
groupedPortfolio
@AlexRudenko的类型,我是说getCcy。我修理it@Naman泰曼)