How to convert List of a POJO to Map<String,List> in Java Stream?

2022-10-09 13:35:43 +08:00
 uSy62nMkdH

List<User> to Map<String,List<User>>

1631 次点击
所在节点    Java
10 条回复
ebony0319
2022-10-09 13:40:07 +08:00
what's the key?
jorneyr
2022-10-09 13:42:27 +08:00
users.stream().collect(Collectors.toMap(User::getUsername, u -> u, (o, n) -> o));
anakinsky
2022-10-09 13:48:45 +08:00
users.stream().collect(Collectors.groupingBy(User::getKey);
Aresxue
2022-10-09 14:11:22 +08:00
users.stream().collect(Collectors.groupingBy(User::getKey);
KingOfUSA
2022-10-09 16:36:48 +08:00
2 楼的写法好点,当 key 有重复的时候可以容错
selca
2022-10-09 16:42:15 +08:00
selca
2022-10-09 16:42:55 +08:00
@selca #6 问题都是抄的
lazyfighter
2022-10-09 16:43:13 +08:00
@KingOfUSA bug 了,看清楚楼主的需求, 二楼的返回值是啥?
KingOfUSA
2022-10-09 16:46:50 +08:00
@lazyfighter 啊,我错了,,,
xuanbg
2022-10-09 16:47:55 +08:00
3 楼正解,就是按 User 对象的某个字段分组,然后以分组字段的值为 key 把对应分组的内容放进 value 。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/885503

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX