Map-读写性能对比

来源:互联网 发布:php打印空格 编辑:程序博客网 时间:2024/05/18 03:50
package lzh;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Map.Entry; public class TestMapForeachEntry {     public static void main(String[] args) {        // 初始化,10W次赋值        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();        for (Integer key : map.keySet()) {            map.get(key);        }        long end = System.currentTimeMillis();        System.out.println("增强for循环,keySet迭代 -> " + (end - start) + " ms");         /** 增强for循环,entrySet迭代 */        start = System.currentTimeMillis();        for (Entry<Integer, Integer> entry : map.entrySet()) {            entry.getKey();            entry.getValue();        }        end = System.currentTimeMillis();        System.out.println("增强for循环,entrySet迭代 -> " + (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();        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");    }}/**增强for循环,keySet迭代 -> 17 ms增强for循环,entrySet迭代 -> 13 ms迭代器,keySet迭代 -> 15 ms迭代器,entrySet迭代 -> 6 ms*/

0 0
原创粉丝点击