使用Java 8 Stream API,我该如何平铺Map以Pair列出左对值是映射键的位置?
示例:如果给定的地图是
1 => {1, 2, 3}
2 => {2, 4}
Run Code Online (Sandbox Code Playgroud)
然后所需的输出是五对流:
(1,1) , (1,2) , (1,3) , (2,2) , (2,4)
Run Code Online (Sandbox Code Playgroud) 我有一个Map是一个值列表的映射,但我需要反转它以便
Map<Integer, List<String>>
Run Code Online (Sandbox Code Playgroud)
变
Map<String, List<Integer>>
Run Code Online (Sandbox Code Playgroud)
比如我有
1 -> { A, B, C }
2 -> { B }
3 -> { A, C }
Run Code Online (Sandbox Code Playgroud)
而且我想看
A -> { 1, 3 }
B -> { 1, 2 }
C -> { 1, 3 }
Run Code Online (Sandbox Code Playgroud)
在Java 8中有没有更简单的方法来执行此操作,而不是迭代遍历映射条目并创建一个不存在的集合条目,并添加到列表等?我一直认为这很明显,但我无法解决这个问题.
提前致谢