将Map<String,List<String>>转换为Pair<String,String>

4

如何使用Java 8 Stream API将Map扁平化为左对值为Map键的Pair列表?

示例: 如果给定的Map是

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

那么期望的输出是五对流:
(1,1) , (1,2) , (1,3) , (2,2) , (2,4)
1个回答

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接