在迭代器上显示Map的内容

Sun*_*rme 4 java iterator map

我正在尝试显示map我使用Iterator创建的.我使用的代码是:

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();
   }
}
Run Code Online (Sandbox Code Playgroud)

类MyGroup,它有两个字段,名为idname.我想显示这两个值pair.getValue().这里的问题是第1行永远不会被执行,也不会抛出任何异常.

请帮忙.

PS:我在这个链接上尝试过各种方法.

Cha*_*har 8

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());
}
Run Code Online (Sandbox Code Playgroud)

使用迭代器

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());
}
Run Code Online (Sandbox Code Playgroud)

有关更多迭代信息,请参阅此链接