package cn.sxt.map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
public class Test01 {
public static void main(String[] args) {
//初始化,1W次赋值
Map<Integer,Integer>map = new HashMap<Integer,Integer>();
for(int i=0; i<100000; i++) {
map.put(i, i);
}
/**增强for循环,keySet迭代**/
long start = System.currentTimeMillis();
//map.keySet返回此映射中包含的键的Set视图。返回key值的Set集合对象
for(Integer key: map.keySet()) {
map.get(key);
}
long end = System.currentTimeMillis();
System.out.println("增强for循环,keySet迭代->"+(end-start)+"ms");
/** 迭代器,keySet迭代 **/
start = System.currentTimeMillis();
Iterator<Integer> iterator = map.keySet().iterator();
Integer key;
while(iterator.hasNext()) {
key = iterator.next();
map.get(key);
}
end = System.currentTimeMillis();
System.out.println("迭代器,keySet迭代->"+(end-start)+"ms");
/** 迭代器,entrySet迭代 **/
start = System.currentTimeMillis();
//Map.Entry<k,v>一个键值对对象
//map.entrySet返回的是一个Set<Map.Entry<k,v>>集合对象
Iterator<Map.Entry<Integer, Integer>> iterator1 = map.entrySet().iterator();
Map.Entry<Integer, Integer> entry;
while(iterator1.hasNext()) {
entry = iterator1.next();
entry.getKey();
entry.getValue();
}
end = System.currentTimeMillis();
System.out.println("迭代器,entrySet迭代->"+(end-start) + "ms");
}
}