2012-07-12 49 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