我正在尝试显示我使用Iterator创建的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,它有两个字段,名为id
和name
。
我想针对pair.getValue()
显示这两个值。
这里的问题是第1行永远不会被执行,也不会抛出任何异常。
请帮助。
PS:我在this link上尝试过每一种方法。
答案 0 :(得分: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());
}
使用迭代器
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());
}
有关更多迭代信息,请参阅this link