2012-07-12 52 views
1

我使用Guava庫。在Multimaps中獲取值 - Guava

有沒有辦法在每個值中獲得Multimap?

例如,Multimap中的值爲1 = [stack],2 = [over,flow],3 = [com]。如果Multimap名稱是map且關鍵字是2,則將出現[over,flow] map.get("2")

我想只得到「流量」。它是否可行?

+0

您可以嘗試'.get(1)'雖然我不確定map.get(「2」)的返回類型。 – nhahtdh 2012-07-12 08:46:44

+0

噢,天啊!我猜愚蠢的事情。 – pamiers 2012-07-12 08:52:29

+0

基於你的問題http://stackoverflow.com/questions/11427031/i-want-to-use-index-about-randomly-index-in-java和http://stackoverflow.com/questions/11444628/if -i-use-hashmapstring-arrayliststring-in-java我建議你試圖達到的目標需要多一點思考。再次考慮你的更高層次的概念,並在必要時提出一個問題(例如,*我想緩存關鍵字是任意整數的條目;如果查詢,緩存應該返回其中一個元素*) – 2012-07-12 08:52:38

回答

5

Multimap返回一個Collection<X>,聽起來您需要列表中的最後一項,在這種情況下,您只需調用map.get("2")即可獲取列表,並檢索列表中的最後一項/第n項。

番石榴有一個名爲Iterables的類別,可能對您有用。例如:

String lastValue = Iterables.getLast(your_list); 
+0

Iterables的好點,謝謝 – Tim 2013-05-24 14:39:53