2017-10-26 1 views
-1

私は別のファイルの独自のクラスにhashMapを持っています。entrySetを使用してハッシュマップをループする

public class className { 

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

} 

値を渡すと、hashMapをループしてキーを取得します。私は次の質問を読んでいるので、entrySetに問題があります。 Stackoverflow Question各ループのための

マイコードは次のとおりです。

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


} 

classNameのは、私のHashMapを含むクラスの名前であり、私はエラーを取得する:

Cannot find symbol

私はそれを推測していますentrySetのメソッドを持たないことと関係がありますが、私は上にリンクした質問には言及していません。

誰でもアドバイスをいただけますか?

+0

'HashMap'を含むクラスまたは' HashMap'自体から 'entrySet'を取得する必要がありますか? – Savior

+0

クラスcarのオブジェクトCにEngineがある場合は、エンジンのメソッドをCオブジェクトで直接呼び出すことはできますか? –

答えて

1

myMapは別のclass上にあり、それはprivateだ場合、あなたは以下のようなpublic getter methodを必要としています。

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()){ 


} 
0

ハッシュマップの名前を入力する必要があります。ないクラス名

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


} 
+0

申し訳ありませんが私の質問を編集 - 別のファイルでは、hashMapはプライベートです – Silentbob

+0

@SilentbobそのhashMapのgetterメソッドをcraeteする必要があります –

+0

@Silentbobその場合、 'myap'の' public getterメソッド 'が必要です –

0

はあなたのmyMapエントリをループを設定する必要があります

for(Map.Entry<String, String> entry : myMap.entrySet()){ 
    // do something with the entry 
} 
関連する問題