gpt4 book ai didi

java - 如何将对象列表转换为>的映射?

转载 作者:行者123 更新时间:2023-12-05 09:06:30 25 4
gpt4 key购买 nike

我有一个用户列表

Collection<User> userList = groupManager.getUserList(groupName);

不太了解 Java-Streams API,我想将它们映射到一个映射中,如下所示:键是用户键,值是用户对象的其他属性的列表。

Map<String, List<String>> userDsiplayData = userList.stream()
.collect(Collectors.toMap(User::getKey, **.......**))

我尝试用 Arrays.asList(User::getUsername(), User::getDisplayName(), User::getEmail()) 替换 **..... **或类似的构造,但我似乎无法让它工作。

最佳答案

只需使用 lambda:

Map<String, List<String>> userDsiplayData = userList.stream()
.collect(Collectors.toMap(User::getKey,
user -> List.of(user.getUsername(), user.getDisplayName(), user.getEmail()))

顺便说一下,您的 Arrays.asList(User::getUsername(), User::getDisplayName(), User::getEmail()) 部分是错误的 - 您尝试返回一个方法句柄列表,而不是映射函数(除了它在语法上不正确的事实 - 括号不属于那里)。

关于java - 如何将对象列表转换为<String, List<String>>的映射?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65989702/

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