El uso de colectores de campo de un GroupBy, contar y sumar otro valor del campo

CleverDev:

Me gustaría utilizar los colectores con el fin de GroupBy un campo, contar y sumar el valor de otro campo. Por ejemplo:

Esta es mi mesa DB:

id    host    result    numberof    date
23    host1   24GB         1        2019-05-20
23    host7   10GB         1        2019-04-21
23    host3   24GB         3        2019-05-12
23    host4   10GB         1        2019-04-22

Lo que quiero hacer, es una columna de resultados GroupBy, luego contar sino también tener en cuenta el valor de 'numberof'. Así que en este caso después de agrupar, el recuento y la adición de los valores:

"24GB": 4
"10GB": 2

No es muy seguro cómo hacerlo, espero que ustedes me puede ayudar.

Map<String,Long> statusMap = statusList.stream()
            .collect(Collectors.groupingBy(
                Status::getResult,
                Collectors.counting()));
Eugene:
 Map<String,Long> statusMap = statusList.stream()
        .collect(Collectors.groupingBy(
            Status::getResult,
            Collectors.summingLong(Status::getNumberOf)));

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=210361&siteId=1
Recomendado
Clasificación