Java 如何在HashMap中获取值的对应键?

Java 如何在HashMap中获取值的对应键?,java,dictionary,key,Java,Dictionary,Key,如何打印该映射中值的对应键?我认为HashMap没有getKey方法 Map <Integer, String > map1 = new HashMap <Integer, String> (); map1.put(7,"GREAT"); map1.put(8,"Try Again!"); if (map1.containsValue("GREAT")){ System

如何打印该映射中值的对应键?我认为HashMap没有getKey方法

 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?);

          }   
试试这个:

 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);
    } 

这是答案。不要。修正你的程序,使地图是正确的。如果您仍然真的想这样做,那么您必须通过在映射中的每个条目上循环并检查值来完成它。@immibis谢谢!我就是这么做的。有时候,只需要一个简单的建议。@Yubi谢谢,我也读过。很有帮助。不要将字符串与==进行比较。@immibis:谢谢您的更正。我已经编辑了我的答案。