使用Java 8的逗号分隔字符串列表到列表列表 [英] List of comma separated String to Map of list using java 8

查看:48
本文介绍了使用Java 8的逗号分隔字符串列表到列表列表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个用逗号分隔的字符串列表-

I have a list of comma separated strings -

List: format = <unique id, label>
----- values -----
ab123,X
cd123,Y
ab123,Y
cd123,Z
------------------

我想使用Java 8将此列表转换为 Map< String,List< String>> ,其中key是唯一ID,值是标签列表( Map< unique-id,List< label>>).

I want to convert this list to Map<String, List<String>> using java 8 where key would be the unique id and value would be the list of labels (Map<unique-id, List<label>>).

示例-

Map[
ab123=List[X, Y],
cd123=List[Y, Z]
]

请在这里帮助我,以便我可以使用Java 8来实现.

Could you please help me here so that I could implement this using java 8.

如果我想使用dto类,也可以使用Map-

Also instead of Map, if I want to use dto class -

Class A {
 private String id;
 private List<String> labelList;
 // Getters and Setters methods
}

,我希望创建一个 A类的列表,例如-

and I expect to create a list of class A, for example -

List[
A [id="ab123", labelList = List[X, Y],
A [id="cd123", labelList = List[Y, Z]
]

我怎么能得到那个?

推荐答案

yourList.stream()
        .map(x -> x.split(",", 2))
        .collect(Collectors.groupingBy(
            x -> x[0],
            Collectors.mapping(x -> x[1], Collectors.toList())

));

这篇关于使用Java 8的逗号分隔字符串列表到列表列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆