你每执行一次it.Next()的时候,指针就向右偏移一位了,每次迭代一次,代表的就是不同的it.next();
每次都执行两次。假设元素为奇数
当执行到后边的时候,会因为没有没有改元素,而抛出异常。
另外,使用泛型,会更好,让代码更加严谨,例子如下:
public class MapDemo2
{
public static void main(String[] args)
{
Map<String,String> map = new HashMap<String,String>();
map.put("01","zs1");
map.put("02","zs2");
map.put("03", "zs3");
Set<String> keySet = map.keySet();
for(Iterator<String> it = keySet.iterator();it.hasNext();)
{
String key = it.next();
String value = map.get(key);
System.out.println("key: "+key+", value: "+value);
}
Set<Map.Entry<String, String>> entrySet = map.entrySet();
Iterator<Map.Entry<String, String>> it = entrySet.iterator();
while(it.hasNext())
{
Map.Entry<String, String> me = it.next();
String key = me.getKey();
String value = me.getValue();
System.out.println(key+" = "+value);
}
}
}
|