java如何将字符串分割成一个映射,通过使用流的重复键对值进行分组?
我想转换以下内容
String flString="view1:filedname11,view1:filedname12,view2:fieldname21";
到Map<String,Set<String>>
获取键/值,如下所示:
view1=[filedname11,filedname12]
view2=[fieldname21]
我想使用Java8流。我试过了
Arrays.stream(tokens)
.map(a -> a.split(":"))
.collect(Collectors.groupingBy(
a -> a[0], Collectors.toList()));
然而,这些键也被添加到了值列表中
# 1 楼答案
应该使用
Collectors::mapping
将数组映射到元素输出
# 2 楼答案
您可以使用以下代码实现目标:
简单输出: