[英]How to do Map of maps to List?
我有这个代码
Set<String> ccy = groupedPortfolio.values().stream()
.map(accountStatusListMap -> accountStatusListMap.values().stream()
.map(portfolios -> portfolios.stream().map(Portfolio::getCcy)))
.collect(Collectors.toSet());
用于从 groupedPortfolio 转换为映射的 map 到投资组合中的一组货币。 在我的代码中我有错误
Required type: Set<String>
Provided: Set<Stream<Stream<UUID>>>
如何正确执行?
我会试试这个。 将所有流转换为一个大的投资组合。 然后通过 map 检索您想要的信息。
Set<String> ccy = groupedPortfolio.values()
.stream()
.flatMap(accountStatusListMap -> accountStatusListMap.values().stream())
.flatMap(List::stream).map(Portfolio::getCcy)
.collect(Collectors.toSet());
找到您的解决方案之外的另一种解决方案:
Set<String> ccy = groupedPortfolio.values().stream().map(accountStatusListMap -> accountStatusListMap.values().stream().map(Collection::stream).flatMap(x -> x).collect(Collectors.toSet()).stream().map(Portfolio::getCcy).collect(Collectors.toSet())).collect(Collectors.toSet()).stream().map(Collection::stream).flatMap(a -> a).collect(Collectors.toSet());
从此链接查看完整代码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.