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
?; 最佳答案
您可以使用Collectors.mapping
:
Map<Integer,List<ItemTypeB>> output =
data.stream()
.collect(Collectors.groupingBy(ItemTypeA::getId,
Collectors.mapping(a->convert(a),
Collectors.toList())));