2014-11-06 80 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