我想流式传输一个对象集合,myClass以便使用它进行分组Collectors.groupingBy().但是,Map<String, List<myClass>>我想将它分组在一个对象上myOutput并检索一个,而不是检索一个Map<String, myOutput>.我试图创建一个自定义收集器:
List<myClass> myList = new ArrayList<myClass>();
myList.add(new myClass("a", 1));
myList.add(new myClass("a", 2));
myList.add(new myClass("b", 3));
myList.add(new myClass("b", 4));
Map<String,myOutput> myMap = myList.stream().collect(Collectors.groupingBy(myClass::getA, Collectors.of(myOutput::new, myOutput::accept, myOutput::combine)));
Run Code Online (Sandbox Code Playgroud)
我的课 :
protected String a;
protected int b;
public myClass(String aA, int aB)
{
a = aA;
b = aB;
}
public String getA()
{
return a;
}
public int getB()
{
return b;
}
Run Code Online (Sandbox Code Playgroud)
myOutput:
protected int i;
public myOutput()
{
i …Run Code Online (Sandbox Code Playgroud)