【发布时间】:2023-03-26 20:11:01
【问题描述】:
我有一个 Map 是一个值列表的映射,但我需要反转它以便
Map<Integer, List<String>>
变成
Map<String, List<Integer>>
例如我有
1 -> { A, B, C }
2 -> { B }
3 -> { A, C }
我想看看
A -> { 1, 3 }
B -> { 1, 2 }
C -> { 1, 3 }
在 Java 8 中有没有比遍历映射条目并创建一个集合条目(如果它不存在)并添加到列表等更简单的方法?我一直认为这很明显,但我无法解决。
提前致谢
【问题讨论】:
-
可能是一个重复,当然,但它为列出的问题提供了一个很好的 Java 8 更新。也许我们尊敬的 Wasserman 先生会愿意为链接的副本提供他的答案?
-
@ErickG.Hagstrom 我已经对这个问题有了答案;)我想我可以编辑它以添加另一个
-
感谢您提供指向副本的指针 - 主要是我决定让它与 Java 8 一起使用,并且下面的答案符合要求。
-
@LouisWasserman 我认为这将是一个很好的编辑。您现有的答案当时非常好并且仍然有效,但是为 Java 8 更新将值得 IMO 付出努力。 (特别是因为这不是我的努力;)