java - 如何将地图映射到列表?
问题描述
我有这个代码
Set<String> ccy = groupedPortfolio.values().stream()
.map(accountStatusListMap -> accountStatusListMap.values().stream()
.map(portfolios -> portfolios.stream().map(Portfolio::getCcy)))
.collect(Collectors.toSet());
用于从 groupedPortfolio 转换,这是从 Portfolios 映射到一组货币的映射。在我的代码中我有错误
Required type: Set<String>
Provided: Set<Stream<Stream<UUID>>>
如何正确执行?
解决方案
我会试试这个。将所有流转换成一个大的投资组合。然后通过地图检索您想要的信息。
Set<String> ccy = groupedPortfolio.values()
.stream()
.flatMap(accountStatusListMap -> accountStatusListMap.values().stream())
.flatMap(List::stream).map(Portfolio::getCcy)
.collect(Collectors.toSet());
推荐阅读
- shellcode - 如何在 32 位 Linux 机器上运行 64 位 shellcode?
- angularjs - 带有 Web Api 控制器的 ADFS 问题未重定向到 ADFS 登录页面
- clojure - Clojure 中 *compile-files* 的用例是什么?
- python - 使用 1W 偏移量 - 希望偏移一周将当前 TS 推到下周开始
- android - 加载更多卡在加载视图 - RecyclerView
- google-chrome - 如何每天同时从网站下载文件?
- r - 如何从 R 中的列中获取特定数字?
- javascript - Lambda 函数错误(Mapbox 资产跟踪)
- angularjs - 在没有单向绑定的情况下提高一页中 100 个图像的性能
- javascript - array.push 不是一个函数?