天天看點

java 8 Stream list to Map key 重複 value合并到Collection

關于把list轉換成key value的map有很多部落格上都有實作,這裡是一個吧value放入到集合中去

List<String> list = Lists.newArrayList("1", "2", "3", "1");
        Map<String, List<String>> map = list.stream().collect(Collectors.toMap(key -> key,
                value -> Lists.newArrayList(value),
                (List<String> newValueList, List<String> oldValueList) -> {
                    oldValueList.addAll(newValueList);
                    return oldValueList;
                }));
        System.out.println(JSON.toJSONString(map));
           

 類似的,你的list泛型可以是一個bean,取bean的屬性當key或者value,轉換成一個集合

結果: {"1":["1","1"],"2":["2"],"3":["3"]}

繼續閱讀