在Java8流中按分组到自定义类而不是原始类

在Java8流中按分组到自定义类而不是原始类,java,java-8,java-stream,grouping,Java,Java 8,Java Stream,Grouping,我有一个a类,它有一些字段 Class A{ String type; String x; String y; } Class B{ String x; String y; } 假设我们有一个列表list。通过使用collector.groupingBy(),是否可以获得输出Map?其中映射中的键是A类中的类型字段当然-只需将映射()收集器链接到分组方式()收集器即可 Map<String,List<B>> map = listA.st

我有一个a类,它有一些字段

Class A{
 String type;
 String x;
 String y;
}

Class B{
    String x;
    String y;

}

假设我们有一个列表
list
。通过使用
collector.groupingBy()
,是否可以获得输出
Map
?其中
映射中的
A类中的
类型
字段

当然-只需将
映射()
收集器链接到
分组方式()
收集器即可

Map<String,List<B>> map =
    listA.stream()
         .collect(Collectors.groupingBy(A::getType,
                                        Collectors.mapping(a->new B(a.getX(),a.getY()),
                                                           Collectors.toList())));
地图=
listA.stream()
.collect(收集器).groupingBy(A::getType,
Collectors.mapping(a->new B(a.getX(),a.getY()),
收藏家;
收集器。分组方式(…,收集器。映射(…)