我有一个具有多个属性的对象流,我想创建这些对象的两个属性的映射。
例如:
class MyClass
{
private int A;
private int B;
private String C;
//constructor, getters, setters, etc...
}
使用 Collectors.groupingBy(),我可以创建一个 Map< String, List< MyClass>>:
Map<String, List<Myclass>> = inputStream.collect(Collectors.groupingby(MyClass::getC));
但我想要一个 Map< String, List< int>> ,其中 Myclass.C 作为键,MyClass.B 作为列表元素。
MyClass.A 不应包含在结果中。
我怎样才能做到这一点?
提前致谢
最佳答案
inputStream.collect(
Collectors.groupingBy(
MyClass::getC,
Collectors.mapping(
MyClass::getB,
Collectors.toList())));
关于java - 如何使用流将 Collectors.groupingby 收集器创建的列表元素映射到其他类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59401596/