我有一些鍵指向多圖中的許多值。我如何檢索基於multimap中存在的值的鍵。這是我的代碼。如何根據multimap中存在的值檢索密鑰?
package com.manoj;
import java.util.Set;
import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.Multimap;
public class GuavaMap
{
public static void main(String[] args)
{
Multimap regions = ArrayListMultimap.create();
regions.put("asia", "afganistan");
regions.put("asia", "bangladesh");
regions.put("asia", "inida");
regions.put("asia", "japan");
regions.put("asia", "burma");
regions.put("europe", "andorra");
regions.put("europe", "austria");
regions.put("europe", "belgium");
regions.put("europe", "cyprus");
regions.put("oceania","australia");
regions.put("oceania", "fiji");
regions.put("oceania", "nauru");
Set<String> keys = regions.keySet();
System.out.println("key\t\t\t"+"values\t\t\t");
System.out.println();
String comp = null;
for(String key : keys)
{
System.out.print(key);
System.out.println(regions.get(key));
}
}
}
我提供的輸出,我需要的區域名稱基礎上的國家。
舉例:如果我給「澳大利亞」輸出應該是「大洋洲」
作爲價值觀上解決了'Multimap'是唯一不要求你必須決定如何處理多個鍵相同的值。除此之外,看起來你需要迭代所有的'.entries()',將這個值與「澳大利亞」進行比較,並在匹配時返回鍵值。 – jensgram
看看這個問題,http://stackoverflow.com/questions/8066109/bidirectional-multi-valued-map-in-java – awsome
我會建議關閉這個問題,如果你已經自己找到了答案 –