所以我有这个“工作”的代码(为简单起见替换一些名称):
Map>> someMap =
someListOfClassA.stream()
.filter(...)
.collect(Collectors.groupingBy(SomeClassA::someCriteriaA,
Collectors.groupingBy(SomeClassA::someCriteriaB, GuavaCollectors.toImmutableList()
)
));
但是,我想更改此代码,以便在通过SomeClassA字段进行分组后,内部集合是SomeClassB.例如,如果类看起来像这样:
假设他们都拥有所有args构造函数
class SomeClassA {
String someCriteriaA;
String someCriteriaB;
T someData;
String someId;
}
class SomeClassB {
T someData;
String someId;
}
并且有一个方法:
public static Collection getSomeClassBsFromSomeClassA(SomeClassA someA) {
List listOfB = someMethod(someA);
return listOfB; // calls something using someClassA, gets a list of SomeClassB
}
我想将SomeClass Bs的结果列表展平为
<