Java 使用entrySet在hashmap中循环

Java 使用entrySet在hashmap中循环,java,hashmap,Java,Hashmap,我有一个hashMap在它自己的类中的另一个文件中 public class className { private HashMap<String,String> myMap = new HashMap<String,String>(); } 公共类类名{ 私有HashMap myMap=新HashMap(); } 我想在hashMap中循环,并在传递值时获取键。由于我一直在阅读下面的问题,我在使用入口集时遇到了问题 我的for each循环代码是: for(Ma

我有一个hashMap在它自己的类中的另一个文件中

public class className {

private HashMap<String,String> myMap = new HashMap<String,String>();

}
公共类类名{
私有HashMap myMap=新HashMap();
}
我想在hashMap中循环,并在传递值时获取键。由于我一直在阅读下面的问题,我在使用入口集时遇到了问题

我的for each循环代码是:

for(Map.Entry<String, String> entry : className.entrySet()){


}
for(Map.Entry:className.entrySet()){
}
className是包含hashMap的类的名称,我得到错误:

找不到符号

我猜这与entrySet没有方法有关,但我不确定,因为我上面链接的问题没有提到这一点


有人能提供一些建议吗?

您需要输入Hashmap的名称。不是类名

for(Map.Entry<String, String> entry : myMap.entrySet()){


}
for(Map.Entry:myMap.entrySet()){
}

您应该循环查看
myMap
条目集:

for(Map.Entry<String, String> entry : myMap.entrySet()){
  // do something with the entry
}
for(Map.Entry:myMap.entrySet()){
//对条目做些什么
}

如果
myMap
在另一个
类上,并且它是
私有的
,那么您需要一个
公共getter方法
,如下所示

    public class className {

    private HashMap<String,String> myMap = new HashMap<String,String>();

    public Map getMyMap()
    {
       return myMap;
    }

}




for(Map.Entry<String, String> entry : objectOfClassName.getMyMap().entrySet()){


}
公共类类名{
私有HashMap myMap=新HashMap();
公共地图getMyMap()
{
返回myMap;
}
}
对于(Map.Entry:objectOfClassName.getMyMap().entrySet()){
}

您应该从包含
HashMap
的类中获取
入口集
,还是从
HashMap
本身获取?如果类car的对象c有一个引擎,您可以直接调用c对象中引擎的方法吗???抱歉,编辑了我的问题-它在不同的文件中,HashMap是private@Silentbob 然后,您需要为此创建一个getter方法hashMap@Silentbob在这种情况下,对于
myap