Код: Выделить всё
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Person {
private String name;
private Integer score;
private Group team;
private boolean active;
}
Код: Выделить всё
public enum Group {
G1, G2, G3
}
Я группирую все на карте
Код: Выделить всё
Map collect = people.stream()
.collect(Collectors.groupingBy(Person::getTeam));
Код: Выделить всё
for (Map.Entry entry : collect.entrySet()) {
collect1.put(entry
.getKey(), entry.getValue().stream()
.mapToInt(Person::getScore).sum());
collect2.put(entry.getKey(), entry.getValue().stream()
.filter(p -> !p.isActive())
.count());
}
Подробнее здесь: https://stackoverflow.com/questions/699 ... as-a-value