2014-11-06 64 views
0

如何打印出該地圖中值的相應鍵。我不認爲有一個HashMap的getKey()方法。
對不起,如果你認爲這個問題與其他人相似。我無法理解其他答案。如何獲取該HashMap中值的相應鍵值

Map <Integer, String > map1 = new HashMap <Integer, String>(); 
     map1.put(7,"GREAT"); 
      map1.put(8,"Try Again!"); 

      if (map1.containsValue("GREAT")){   
      System.out.println(WHAT DO I PUT HERE?); 

      } 

先謝謝你,上帝保佑你們所有的幫助和你的時間。

+0

這裏是答案。 http://stackoverflow.com/questions/1383797/java-hashmap-how-to-get-key-from-value – Yubaraj 2014-11-06 11:26:40

+1

不要。修復你的程序,以便地圖是正確的。 (如果你仍然真的想這樣做,那麼你必須通過遍歷地圖中的每個條目並檢查值來完成無聊的方式。) – immibis 2014-11-06 11:27:21

+0

@immibis謝謝!這就是我所做的。有時候,只需要一個簡單的建議。 – lolian 2014-11-06 12:07:42

回答

0

試試這個:

Map <Integer, String > map1 = new HashMap <Integer, String>(); 
    map1.put(7,"GREAT"); 
     map1.put(8,"Try Again!"); 
     Integer key=null; 
     Set<Integer>keySet=new HashSet<Integer>(); 
     if (map1.containsValue("GREAT")){   
     keySet=map1.keySet(); 
     Iterator<Integer>iter=keySet.iterator(); 
     while(iter.hasNext()){ 
      if(map1.get(key=iter.next()).equals("GREAT")){ 
       break; 
      } 
     } 

     } 
     System.out.println("Key is:"+key); 
    } 
+0

請勿將字符串與==比較。 – immibis 2014-11-06 12:21:29

+0

@immibis:感謝correction.i編輯了我的答案。 – AsSiDe 2014-11-06 12:44:47