uSy62nMkdH
V2EX  ›  Java

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

  •  
  •   uSy62nMkdH · Oct 9, 2022 · 2226 views
    This topic created in 1336 days ago, the information mentioned may be changed or developed.

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

    10 replies    2022-10-09 16:47:55 +08:00
    ebony0319
        1
    ebony0319  
       Oct 9, 2022
    what's the key?
    jorneyr
        2
    jorneyr  
       Oct 9, 2022
    users.stream().collect(Collectors.toMap(User::getUsername, u -> u, (o, n) -> o));
    anakinsky
        3
    anakinsky  
       Oct 9, 2022   ❤️ 5
    users.stream().collect(Collectors.groupingBy(User::getKey);
    Aresxue
        4
    Aresxue  
       Oct 9, 2022
    users.stream().collect(Collectors.groupingBy(User::getKey);
    KingOfUSA
        5
    KingOfUSA  
       Oct 9, 2022
    2 楼的写法好点,当 key 有重复的时候可以容错
    selca
        7
    selca  
       Oct 9, 2022
    @selca #6 问题都是抄的
    lazyfighter
        8
    lazyfighter  
       Oct 9, 2022
    @KingOfUSA bug 了,看清楚楼主的需求, 二楼的返回值是啥?
    KingOfUSA
        9
    KingOfUSA  
       Oct 9, 2022
    @lazyfighter 啊,我错了,,,
    xuanbg
        10
    xuanbg  
       Oct 9, 2022
    3 楼正解,就是按 User 对象的某个字段分组,然后以分组字段的值为 key 把对应分组的内容放进 value 。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2906 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 43ms · UTC 13:48 · PVG 21:48 · LAX 06:48 · JFK 09:48
    ♥ Do have faith in what you're doing.