gpt4 book ai didi

Java Lambda 流列表<用户> 到映射<角色,列表<用户>>

转载 作者:太空宇宙 更新时间:2023-11-04 13:08:25 32 4
gpt4 key购买 nike

我必须编写一个需要 List<User> 的方法并返回 Map<Role,List<User>> .

User包含 Person实例,其中包含 Role .
我必须创建一个映射,其中角色键映射到用户列表(其中用户具有此角色)。

我尝试了以下方法:

public static Map<Role, List<User>> groupUsersByRole(List<User> users) {
users.stream().collect(Collectors.toMap((u -> u.getPersonDetails().getRole()), users.stream().collect(Collectors.toList() ) )
users.stream().map(user -> user).filter(u -> u.).collect(Collectors.toList()) );
//users.stream().filter(u -> u.getPersonDetails().getRole().getName().equals(u.getPersonDetails().getRole().getName())).map(user -> user.getName()).
return null;
}

最佳答案

您正在寻找的是一个Collectors.groupingBy,它通过指定的属性对 Stream 的元素进行分组:

Map<Role, List<User>> map = users.stream().collect(Collectors.groupingBy(u->u.getPersonDetails().getRole()));

关于Java Lambda 流列表<用户> 到映射<角色,列表<用户>>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34201240/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com