【问题标题】:After groupingBy convert list of objects from Type A to Type B分组后将对象列表从类型 A 转换为类型 B
【发布时间】:2018-03-27 19:43:08
【问题描述】:
Map<Integer,List<ItemTypeA>> list = data.stream().collect(groupingBy(ItemTypeA::getId)); 

我有一个将 ItemTypeA 转换为 ItemTypeB 的函数。

public ItemTypeB convert (ItemTypeA); 

我如何在groupingBy 之后使用它,以便最终结果如下所示。

Map<Integer,List<ItemTypeB>> map = data.stream().collect(groupingBy(ItemTypeA::getId), 

如何调用函数将ItemTypeA转换为ItemTypeB?;

【问题讨论】:

    标签: java java-8 collectors


    【解决方案1】:

    你可以使用Collectors.mapping:

    Map<Integer,List<ItemTypeB>> output = 
        data.stream()
            .collect(Collectors.groupingBy(ItemTypeA::getId,
                     Collectors.mapping(a->convert(a),
                                        Collectors.toList())));
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-11-07
    • 1970-01-01
    • 2011-08-02
    • 2013-08-10
    • 2020-04-16
    • 1970-01-01
    • 2021-08-25
    相关资源
    最近更新 更多