转换列表对象为使用Java 8个流对象的自定义地图

阿伦:

我有一个包含引用类“秒”为列表类“第一”。我想实现下面的框在Java中8路用流(或)瓣地图(或)groupingBy

foreach(First a: listOfFirst){
    for (Second b: a.getSecondDetails()) {
        inputMap.put(b, a);
    }
}

我想下面的简化方式

listOfFirst.stream()
    .flatMap(p -> p.getSecondDetails().stream())
    .collect(Collectors.toMap(p -> p, q -> q));

我在这里失去了一些东西,请大家帮我出

他们是:

你需要“记住” First对应于每个实例Second的实例。你可以这样做,例如,通过创建Map.Entry实例:

Map<Second,First> result =
    listOfFirst.stream()
               .flatMap(p->p.getSecondDetails()
                            .stream()
                            .map(sec -> new SimpleEntry<>(sec,p))
               .collect(Collectors.toMap(Map.Entry::getKey,
                                         Map.Entry::getValue));

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用收藏家列表转换地图对象 - Java的

Java的8流,对象的转换列表地图<字符串,将<字符串>>

Java的8个流 - 查找最大计数值地图<字符串,列表<对象>>

Java的8个地图流

收集列表<对象>地图<字符串,列表<对象>>中的Java 8中使用流

转换对象的列表,使用流的地图

Java的地图 - 如何获取自定义对象的列表作为一个单独的列表

从使用Java 8个流API对象列表收集名单

如何转换列表<V>进入地图<K,名单<V >>,与Java 8流和自定义列表和地图供应商?

自定义排序地图在Java中8

如何在Java 8中从流中收集自定义类对象?

使用Streams Java 8将自定义对象的列表合并到单个列表对象

Java 8并行流中的自定义线程池

Java 8分组,计数并转换为自定义对象

如何使用Java 8流将HashMap的值设置为自定义Java对象?

如何在Java 8中将流的结果收集到自定义对象的数组中

将两个不同的自定义对象列表与流相交和并集

如何使用Java 8对同一个自定义对象执行多项操作

在列表框中显示自定义对象的列表,为每个对象使用自定义用户控件

自定义对象训练张量流错误

合并两个地图对象并返回自定义对象javascript

使用Java 8将复杂对象列表转换为Map

使用Java 8流将对象列表转换为Map <Key,List <Object >>

无法在自定义对象地图类型上传播

在将自定义对象返回到m流中时,我在做什么错?如何返回另一个another流可以消耗的对象?

使用Guava集合将自定义对象列表转换/过滤到另一个对象

通过使用自定义地图提取,将一个可观察对象一分为二

如何将自定义对象列表传输到 Java 中的地图?

如何在 Java 中将自定义对象列表重新组合到地图中?