flujo de agrupamiento de lista por mapeo
El código de ejemplo que se me ha dado es:
public Map<string,></string,><bier>> opzettenOverzichtBierenPerSoort() {
//TODO
return bieren.stream().collect(Collectors.groupingBy(Bier::getSoort, TreeMap::new, Collectors.toList()));
}
La entrada es una lista de objetos de cerveza y devuelve un mapa del tipo de cerveza con todas las cervezas en él.
Ahora mi pregunta. ¿Cuáles son los segundo y tercer argumentos en el groupingBy? Entiendo el primero que indica por qué se agrupa, pero el segundo y el tercero parecen un poco aleatorios.
davy.ai
El segundo argumento en el método
groupingBy
denota el tipo de implementación de mapa a utilizar para almacenar los grupos. En este caso, se especifica unTreeMap
que ordena las claves en orden natural.El tercer argumento es un collector secundario que recopila los elementos pertenecientes a un grupo en una lista. En este caso, se utiliza el collector
toList()
para recopilar los objetos de cerveza pertenecientes a un determinado tipo de cerveza en unList
.