地图<字符串,列表<字符串>&GT;配对<string,string>

时间:2015-08-24 18:24:12

标签: java lambda java-8 java-stream

使用Java 8 Stream API如何将MapPair列表左对齐,其中左对值是地图键?

实施例: 如果给出的地图是

1 => {1, 2, 3}
2 => {2, 4}

然后所需的输出是五对流:

(1,1) , (1,2) , (1,3) , (2,2) , (2,4)

1 个答案:

答案 0 :(得分:4)

List<Pair<String, String>> result =
    map.entrySet()
       .stream()
       .flatMap(
           entry -> entry.getValue()
                         .stream()
                         .map(string -> new Pair<>(entry.getKey(), string)))
       .collect(Collectors.toList());