代码快速查阅
public static void main(String[] args) {
System.out.println(
generatePerson().
collect(
Collectors.groupingBy(Person::getGender,
Collectors.mapping(Person::getName, Collectors.toList()))));
System.out.println(
generatePerson()
.collect(
Collectors.groupingBy(Person::getGender,
Collectors.reducing(0, Person::getAge, Integer::sum))));
}
public static Stream<Person> generatePerson() {
return Stream.of(new Person("A", Sex.FEMALE, 10), new Person("B", Sex.FEMALE, 20),
new Person("C", Sex.MALE, 20), new Person("D", Sex.MALE, 30),
new Person("E", Sex.FEMALE, 30));
}
Person类
@Data
@NoArgsConstructor
public class Person {
String name;
LocalDate birthday;
Sex gender;
String emailAddress;
Integer age;
public Person(String name, Sex gender, Integer age) {
this.name = name;
this.gender = gender;
this.age = age;
}
}
enum Sex {
MALE,
FEMALE
}