Consorcio inactivo :
Tengo una College
clase con clases anidadas estáticasDept
Universidad
class College {
private String collegeName;
private Dept dept;
public Dept getDept() {
return dept;
}
public void setDept(Dept dept) {
this.dept = dept;
}
public String getCollegeName() {
return CollegeName;
}
public void setCollegeName(String collegeName) {
CollegeName = collegeName;
}
public static class Dept {
private String deptName;
public String getDeptName() {
return deptName;
}
public void setDeptName(String deptName) {
this.deptName = deptName;
}
}
}
Tengo list
de College
objetos y tratando groupingBy
basado en deptName i,e (Map<String>, List<College>)
, pero no hubo suerte hasta el momento y que da un mensaje de error de compilación
List<College> list = new ArrayList<College>();
list.stream().collect(Collectors.groupingBy(College.Dept::getDeptName));
Error de compilación
The method collect(Collector<? super College,A,R>) in the type Stream<College> is not applicable for the arguments (Collector<College.Dept,capture#1-of ?,Map<String,List<College.Dept>>>)
Andy Turner:
College.Dept::getName
es una Function<College.Dept, String>
. No acepta una College
como una entrada.
Use un lambda para construir un Function<College, String>
:
groupingBy(c -> c.getDept().getName())