java.util.map问题

来源:百度知道 编辑:UC知道 时间:2024/06/06 23:44:54
今天我测试了下MAP 下面是测试代码:
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

public class TestMap {

public static void main(String[] args) {
Map map =new HashMap();
for(int i=0; i<10;i++){
map.put(i,i);
}
Set inKey = map.keySet();
Iterator itr = inKey.iterator();
while(itr.hasNext()){
//int k = itr.next();
System.out.println(itr.next()+" : "+map.get(itr.next()));
}

}

} 我想问为什么最后打印结果是:
0 : 1
2 : 3
4 : 5
6 : 7
8 : 9

int i = Integer.valueOf(itr.next().toString());
System.out.println(i + ":" + map.get(i));
使用了itr.next()2次 所以只取了一半的值 map.get(itr.next())打印的值和前面itr.next()的值不是一样的

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

public class TestMap {

public static void main(String[] args) {
Map map = new HashMap();
for (int i = 0; i < 10; i++) {
map.put(new Integer(i), new Integer(i));
}
Set inKey = map.keySet();
Iterator itr = inKey.iterator();
while (itr.hasNext()) {
Integer k = (Integer)itr.next();
System.out.println(k + " : " + map.get(k));
}

}

}

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

public class TestMap {

public static void main(String[] args) {
Map map = new HashMap(