在 Google Guava Multimap 中交换键和值的关系
Swapping relation of keys and values in a Google Guava Multimap
我有一个
Multimap<String, Integer> map = ...
我可以在哪里 map.get("somekey") 检索所有匹配的整数。
现在我想找到具有给定整数的键,例如
Collection<String> keys = map.getByValue(Integer.of(4))
其中 returns Multimap 中将给定 Integer 存储为值的所有键。
在 Google Guava 中有没有简单的方法来做到这一点?
发布问题后不久,我发现以下内容可以很好地完成工作:
Multimap<String, Integer> reversed = ...
Multimaps.invertFrom(map, reversed);
它实际上会做一个复制,一个不实际复制所有条目的解决方案仍然很有趣。
我有一个
Multimap<String, Integer> map = ...
我可以在哪里 map.get("somekey") 检索所有匹配的整数。
现在我想找到具有给定整数的键,例如
Collection<String> keys = map.getByValue(Integer.of(4))
其中 returns Multimap 中将给定 Integer 存储为值的所有键。
在 Google Guava 中有没有简单的方法来做到这一点?
发布问题后不久,我发现以下内容可以很好地完成工作:
Multimap<String, Integer> reversed = ...
Multimaps.invertFrom(map, reversed);
它实际上会做一个复制,一个不实际复制所有条目的解决方案仍然很有趣。