как я могу создать N списков на основе гендерных типов Enum?Если у меня есть 3 возможных перечисления GENDER (мужской, женский, другой), мне нужно 3 списка.Как мне добиться этого с помощью API потоков Java 8?
Мне нужно что-то вроде MAP с 3 ключами в этом случае.sexMap.get (GENDER.male).
Map<GENDER, List<Person>> genderMap;
пробовал с разбиениемBy
Map<Boolean, List<Person>> genderMap= people.stream().collect(Collectors.partitioningBy(malePredicate()));
System.out.println("MALE "+genderMap.get(true));
System.out.println("FEMALE "+genderMap.get(false));
private static Predicate<Person> malePredicate(){
return p -> p.getGender() != null && p.getGender().equalsIgnoreCase("male");
}
private static Predicate<Person> femalePredicate(){
return p -> p.getGender() != null && p.getGender().equalsIgnoreCase("female");
}
- MALE [Person [id = 1, name = SAMPLE_1, возраст = 11, пол = мужчина, sal = 100, monthExpenseAmount = 120,00], человек [id = 2, имя = SAMPLE_2, возраст = 12, пол = мужчина, sal = 100, monthExpenseAmount = 120,00]]
- FEMALE [Person [id = 0, имя = SAMPLE_0, возраст = 10, пол = другой, sal = 100, monthExpenseAmount = 120.00], Person [id = 3, имя = SAMPLE_3, возраст = 13,пол = женский, sal = 100, monthExpenseAmount = 100,00], человек [id = 4, имя = SAMPLE_4, возраст = 14, пол = женский, sal = 100, monthExpenseAmount = 100,00], человек [id = 5, имя = SAMPLE_5,возраст = 15, пол = женский, sal = 100, месячный расход на сумму = 100,00]]