Java流收集以使用多个键进行映射

加勒特·威尔逊(Garret Wilson)

我以为我在Java 8流方面已经变得很不错了,但是后来...

我有一个Foo界面:

public interface Foo {
  String getKey();
  Stream<Bar> bars();
}

我知道我可以使用每个键Stream<Foo>将a收集到aMap<String, Foo>中:

Map<String, Foo> foosByKey = fooStream.collect(
    Collectors.toMap(Foo::getKey, Function.identity()));

但是,如果我想将它们收集到一个Map<Bar, Foo>容器中怎么办?换句话说,对于Foo蒸汽Foo中的每个Bar实例,我都希望将其放入映射中的键,该键对应于所返回的每个实例Foo.bars()我从哪里开始?

Sotirios Delimanolis

作为建议在这里,你会想提取Bar从每个值Foo,创造对他们来说。配对后,您可以将它们收集到中Map例如,

Map<Bar, Foo> map = fooStream.flatMap(foo -> foo.bars().map(bar -> new SimpleEntry<>(bar, foo)))
            .collect(Collectors.toMap(Entry::getKey, Entry::getValue)); 

我们SimpleEntry在这里使用它是因为它可用(Java没有更简单的Pair类型)。您可以编写自己的内容以更具体。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用多个键进行映射

来自分类Dev

使用多个键进行映射

来自分类Dev

如何使用Java流收集来创建一个以字符串为键而不是对象为键的映射?

来自分类Dev

使用多个键和值进行映射

来自分类Dev

Java流/收集:与多个领域的多个按键映射一个项目

来自分类Dev

如何使用流API在Java 8中对此进行映射?

来自分类Dev

如何使用Java 8流映射到多个元素?

来自分类Dev

如何针对每个键删除一些整数后如何从一个映射中收集值并使用流生成另一个映射(Java 8)

来自分类Dev

使用Java 8流收集到增值基于现有的键/值对的

来自分类Dev

使用 Java 流从列表中获取包含键和该键出现次数的映射

来自分类Dev

java流收集器没有映射器?

来自分类Dev

如何使用Java流将多个列表收集到一个列表中?

来自分类Dev

使用Java 8流对多个变量列表进行排序

来自分类Dev

如何使用相同的键在多个json对象上进行json映射

来自分类Dev

使用流收集器对对象进行分组

来自分类Dev

Java 8流中间映射/收集到具有2个值的流

来自分类Dev

使用多个键在 Pandas 中映射

来自分类Dev

添加重复的字符串键以使用foreach进行映射,其中value是重复次数

来自分类Dev

Java 8 流收集

来自分类Dev

多个键值对进行收集

来自分类Dev

将多个键映射到 Java 中的单个值的映射?

来自分类Dev

Java 8流映射到按值排序的键列表

来自分类Dev

Java 8-如何使用流收集器对地图列表进行分组和求和

来自分类Dev

转换逻辑以使用Java 8流

来自分类Dev

是否可以使用休眠注释映射外键?

来自分类Dev

我可以使用元组作为映射的键吗?

来自分类Dev

使用Java 8流的反向映射结构

来自分类Dev

使用 java 8 流映射减少

来自分类Dev

Java或Guava映射实现与指向单个值的多个键一起使用

Related 相关文章

  1. 1

    使用多个键进行映射

  2. 2

    使用多个键进行映射

  3. 3

    如何使用Java流收集来创建一个以字符串为键而不是对象为键的映射?

  4. 4

    使用多个键和值进行映射

  5. 5

    Java流/收集:与多个领域的多个按键映射一个项目

  6. 6

    如何使用流API在Java 8中对此进行映射?

  7. 7

    如何使用Java 8流映射到多个元素?

  8. 8

    如何针对每个键删除一些整数后如何从一个映射中收集值并使用流生成另一个映射(Java 8)

  9. 9

    使用Java 8流收集到增值基于现有的键/值对的

  10. 10

    使用 Java 流从列表中获取包含键和该键出现次数的映射

  11. 11

    java流收集器没有映射器?

  12. 12

    如何使用Java流将多个列表收集到一个列表中?

  13. 13

    使用Java 8流对多个变量列表进行排序

  14. 14

    如何使用相同的键在多个json对象上进行json映射

  15. 15

    使用流收集器对对象进行分组

  16. 16

    Java 8流中间映射/收集到具有2个值的流

  17. 17

    使用多个键在 Pandas 中映射

  18. 18

    添加重复的字符串键以使用foreach进行映射,其中value是重复次数

  19. 19

    Java 8 流收集

  20. 20

    多个键值对进行收集

  21. 21

    将多个键映射到 Java 中的单个值的映射?

  22. 22

    Java 8流映射到按值排序的键列表

  23. 23

    Java 8-如何使用流收集器对地图列表进行分组和求和

  24. 24

    转换逻辑以使用Java 8流

  25. 25

    是否可以使用休眠注释映射外键?

  26. 26

    我可以使用元组作为映射的键吗?

  27. 27

    使用Java 8流的反向映射结构

  28. 28

    使用 java 8 流映射减少

  29. 29

    Java或Guava映射实现与指向单个值的多个键一起使用

热门标签

归档