簡體   English   中英

從Guava Multimap中的值返回鍵

[英]Return key from value in Guava Multimap

在我的Java代碼中,我需要能夠從值中找出密鑰。 我知道怎么做反之亦然,我已經在我的代碼中使用了很多次,但是有一種方法可以獲得密鑰而只知道Guava Multimap中的值嗎? 提前致謝。

Guava為Multimap提供了一種反演方法。 請參見Multimaps.invertFrom

如果您不經常需要反演,或者您的multimap很小,這可能對您沒問題。 但這種反轉是一個昂貴的過程。 根據JB Nizet在評論中的建議,您可以通過簡單地保持正向和反向來獲得一些效率。 然而,兩者都可以是多重映射以允許非唯一性。

使用ImmutableMultimap,您可以調用ImmutableMultimap.inverse()

使用BiMap, https: //google.github.io/guava/releases/19.0/api/docs/com/google/common/collect/BiMap.html

然后,

bimap.inverse().get(value)

會給你鑰匙。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM