Java 如何在HashMap中获取值的对应键?
如何打印该映射中值的对应键?我认为HashMap没有getKey方法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
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:谢谢您的更正。我已经编辑了我的答案。