2012-04-06 18 views
3

イテレータを使用して作成したmapを表示しようとしています。イテレータ上にマップの内容を表示

private void displayMap(Map<String, MyGroup> dg) { 
Iterator it = dg.entrySet().iterator(); //line 1 
while (it.hasNext()) { 
    Map.Entry pair = (Map.Entry)it.next(); 
    System.out.println(pair.getKey() + " = " + pair.getValue()); 
    it.remove(); 
    } 
} 

クラスMYGROUP、それはidnameという名前のそれに2つのフィールドを、持っている:私は使用しています コードです。 これらの2つの値をpair.getValue()に対して表示したいとします。 ここで問題となっているのは、行1が実行されず、例外もスローされないことです。

お願いします。

PS:私はすべての方法をthis linkで試しました。

+0

どのようにあなたが知っているその実行されませんを参照してくださいより多くの反復についてはイテレータ

Map<String, MyGroup> map = new HashMap<String, MyGroup>(); Iterator<Map.Entry<String, MyGroup>> entries = map.entrySet().iterator(); while (entries.hasNext()) { Map.Entry<String, MyGroup> entry = entries.next(); System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue()); } 

を使用していますか? – Asha

+0

私は1行目の後にsysoutを挿入しました。それは印刷されませんでした。 –

+1

オブジェクトがnullでないか、空でないことを確認してください。また、それは "MyGroup"ですか?あなたはクラスを小文字にしましたが、それは本当に良い考えではありません。 – jmort253

答えて

7
Map<String, MyGroup> map = new HashMap<String, MyGroup>(); 
for (Map.Entry<String, MyGroup> entry : map.entrySet()) { 
    System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue()); 
} 

this link

+0

という便利なリンクと呼ばれる場合は、// 1行は実行されません。しかし、この場合は助けにならなかった。同じですが、結果はありません。 –

+0

@SunmitGirmeもちろん、私は自分のコンピュータでそれをチェックしていないし、完璧な結果を出している。正しくチェックしてください。 –

+0

@chandraShekhar:そうですね、地図の内容を表示するコードは正しいと思います。 MyGroupクラスのマッピングに問題がある必要があります。 –

関連する問題