zoukankan      html  css  js  c++  java
  • map遍历

    向map中添加数据 150万
    Map<String,String> m = new HashMap<>(); for (int i = 0; i < 1500000; i++) { m.put("a" + i,"1"); } long start2 = System.currentTimeMillis(); Set<Map.Entry<String, String>> entries1 = m.entrySet(); Iterator<Map.Entry<String, String>> iterator = entries1.iterator(); while (iterator.hasNext()){ Map.Entry<String, String> next = iterator.next(); System.out.println(next.getKey() + next.getValue()); } long iteratorTime = System.currentTimeMillis() - start2; long start = System.currentTimeMillis();for (Map.Entry<String, String> entry : m.entrySet()) { System.out.println(entry.getKey() + " " + entry.getValue()); } long entrySetTime = System.currentTimeMillis() - start; long start1 = System.currentTimeMillis(); for (String s : m.keySet()) { System.out.println(s + " " + m.get(s)); } long keySetTime = System.currentTimeMillis() - start1; System.out.println("iteratorTime" + iteratorTime); System.out.println("entrySetTime" + entrySetTime); System.out.println("keySetTime" + keySetTime);


    第一次运行的结果:

      iteratorTime5556
      entrySetTime5620
      keySetTime5779

     第二次运行结果

      iteratorTime5194
      entrySetTime5267
      keySetTime5296

    再运行几次 

    iteratorTime5465
    entrySetTime5594
    keySetTime5703

    map数据是10万左右的时候运行多次,结果就不一样了,三个都有最快的时候,不知道为什么,但是从数据最多的情况来分析,还是iterator方式遍历的速度是最快的。

    所以,我们使用中为了速度,我们使用iterator

    写代码简单

    keySet和entrySet 省事儿
  • 相关阅读:
    [windbg] 进程、线程
    [Windows 驱动开发] 驱动中获取函数地址
    [DuiLib] 入坑资料收集
    [Windows 驱动开发] 获取驱动详细信息
    基于模板的SPS展示层定制
    关于工作角色的一个新的思考
    中小企业IT建设的有关思路
    定制SharePoint Portal之去除帮助链接
    大客户谈判技巧关于IT行业售前工作
    细节决定成败
  • 原文地址:https://www.cnblogs.com/renjianjun/p/10868678.html
Copyright © 2011-2022 走看看