java - 使用流收集列表到联合列表

标签 java java-stream

我正在尝试编写一个表达式,从缓存中获取数据(它们返回一个列表)并将所有内容收集在一起。

我想出了:

List<myDto> myJointSnapshot = cachesMap.values().stream()
  .flatMap(c->c.getSnapshot()).collect(Collectors.toList());

其中 getSnapshot 还返回 List< myDto>。

这给了我一个错误:不存在类型变量 R 的实例,因此 List< myDto> 符合 Stream< ?扩展 R>

如何更正表达式使其有效?

最佳答案

flatMap(c->c.getSnapshot().stream())...

flatMap 期望得到一个 Stream 结果,在您的情况下它是一个 List

关于java - 使用流收集列表到联合列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52950647/

相关文章:

java - 硬件 : Creating my own hashtable - Unsure of how to use a linkedlist in it

java - 从包含子类和父类(super class)项的数组列表中删除项

java - 我的应用程序在 android 9 版本中不断崩溃,抛出 java.lang.SecurityException

java - 当我们使用 super 时,为什么 Java 8::operator 不能用于 Object hashcode 方法?

java - 从具有相似属性的 List<Object> 创建 List<Set>

java - 如何在不访问每个节点的情况下计算完整二叉树中的节点数?

java - 使用 Stream 时返回 Collection 中的数组索引

java - 流分组后如何聚合分组实体

list - 使用 Kotlin 中的 Java Stream API 从列表列表中获取元素

java - 使用 Streams 替换 For-Each 循环