public class User {
private String name;
private Role role;
}
enum Role {
ADMIN, MODERATOR, USER
}
List users = Arrays.asList(
new User("Alex", Role.USER),
new User("Tom", Role.ADMIN),
new User("Bob", Role.MODERATOR),
new User("Mila", Role.USER),
new User("Kate", Role.MODERATOR)
);
Map count = users.stream()
.collect(Collectors.groupingBy(User::getRole, Collectors.counting()));
Result : {ADMIN=1, USER=2, MODERATOR=2}
Я хочу сгруппировать по ролям и подсчитать количество пользователей, используя API потока.
Когда я использовал Map все было ок.
Но мне нужна Map, и у меня возникла ошибка компиляции. Я не понимаю, как в этом случае преобразовать Enum в String?
[code]public class User { private String name; private Role role; }
enum Role { ADMIN, MODERATOR, USER }
List users = Arrays.asList( new User("Alex", Role.USER), new User("Tom", Role.ADMIN), new User("Bob", Role.MODERATOR), new User("Mila", Role.USER), new User("Kate", Role.MODERATOR) );
Result : {ADMIN=1, USER=2, MODERATOR=2} [/code] Я хочу сгруппировать по ролям и подсчитать количество пользователей, используя API потока. Когда я использовал Map все было ок. Но мне нужна Map, и у меня возникла ошибка компиляции. Я не понимаю, как в этом случае преобразовать Enum в String?