Java 在哈希表中找到值时打印密钥
当发现或存在键值时,我试图在哈希表中打印键值。此代码似乎不起作用Java 在哈希表中找到值时打印密钥,java,hashmap,hashtable,Java,Hashmap,Hashtable,当发现或存在键值时,我试图在哈希表中打印键值。此代码似乎不起作用 Map<String,Integer> map = new HashMap<String, Integer>(); for(int j=0;j<al.size();j++){ Integer count = map.get(al.get(j)); map.put(al.get(j), count==null?1:co
Map<String,Integer> map = new HashMap<String, Integer>();
for(int j=0;j<al.size();j++){
Integer count = map.get(al.get(j));
map.put(al.get(j), count==null?1:count+1); //auto boxing and count
}
int max = Collections.max(map.values());
if( map.containsValue(max))
{
System.out.println(map.keySet());
}
Map Map=newhashmap();
对于(int j=0;j首先,这些值可能出现多次-我假设您要打印所有匹配的键
其次,哈希表基本上不是为按值查找而设计的,因此必须迭代所有条目:
// Adjust types accordingly
for (Map.Entry<String, String> entry : map.entrySet()) {
if (entry.getValue().equals(targetValue)) {
System.out.println(entry.getKey());
}
}
//相应地调整类型
对于(Map.Entry:Map.entrySet()){
if(entry.getValue().equals(targetValue)){
System.out.println(entry.getKey());
}
}
如果某些值可能为空,则应更改相等检查。如果哈希映射包含最大值,则应打印其对应的键。哈希表和映射非常新。非常感谢您的帮助。感谢您打印所有键而不是您想要的键吗?是的,它正在打印所有键。您好,是的。我是正在尝试打印所有匹配的类型。Map.entry又是如何工作的?我对java和哈希表非常陌生。@user872009:Map.entry
类型是“哈希表中的一个条目”-一个键/值对。entrySet()
方法返回一组可以迭代的条目。