交换Google Guava Multimap中键和值的关系

时间:2015-01-29 11:52:27

标签: java guava relation multimap

我有一个

Multimap<String, Integer> map = ...

我可以在map.get(&#34; somekey&#34;)中检索所有匹配的整数。

现在我想找到具有给定Integer的键,即类似

的键
Collection<String> keys = map.getByValue(Integer.of(4))

返回Multimap中所有键,其中给定的Integer存储为值。

在Google Guava中有一种简单的方法吗?

1 个答案:

答案 0 :(得分:1)

在发布问题后不久,我发现以下内容很好地完成了工作:

Multimap<String, Integer> reversed = ...
Multimaps.invertFrom(map, reversed);

它实际上会复制一个副本,这样做的解决方案没有实际复制所有条目仍然会很有趣。