V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
uSy62nMkdH
V2EX  ›  Java

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

  •  
  •   uSy62nMkdH · 2022-10-09 13:35:43 +08:00 · 1483 次点击
    这是一个创建于 537 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    10 条回复    2022-10-09 16:47:55 +08:00
    ebony0319
        1
    ebony0319  
       2022-10-09 13:40:07 +08:00
    what's the key?
    jorneyr
        2
    jorneyr  
       2022-10-09 13:42:27 +08:00
    users.stream().collect(Collectors.toMap(User::getUsername, u -> u, (o, n) -> o));
    anakinsky
        3
    anakinsky  
       2022-10-09 13:48:45 +08:00   ❤️ 5
    users.stream().collect(Collectors.groupingBy(User::getKey);
    Aresxue
        4
    Aresxue  
       2022-10-09 14:11:22 +08:00
    users.stream().collect(Collectors.groupingBy(User::getKey);
    KingOfUSA
        5
    KingOfUSA  
       2022-10-09 16:36:48 +08:00
    2 楼的写法好点,当 key 有重复的时候可以容错
    selca
        7
    selca  
       2022-10-09 16:42:55 +08:00
    @selca #6 问题都是抄的
    lazyfighter
        8
    lazyfighter  
       2022-10-09 16:43:13 +08:00
    @KingOfUSA bug 了,看清楚楼主的需求, 二楼的返回值是啥?
    KingOfUSA
        9
    KingOfUSA  
       2022-10-09 16:46:50 +08:00
    @lazyfighter 啊,我错了,,,
    xuanbg
        10
    xuanbg  
       2022-10-09 16:47:55 +08:00
    3 楼正解,就是按 User 对象的某个字段分组,然后以分组字段的值为 key 把对应分组的内容放进 value 。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2901 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 11:23 · PVG 19:23 · LAX 04:23 · JFK 07:23
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.