public static void main(String[] args) {HashMap<Integer, String> map = new HashMap<Integer, String>();for (int i = 0; i < 40000; i++) {map.put(i, "第" + i + "个");}//循环第一种long t1 = System.nanoTime();Object key[] = map.keySet().toArray();for (int i = 0; i < map.size(); i++) {map.get(key[i]);}long t2 = System.nanoTime();// 循环第二种for (Map.Entry<Integer, String> entry : map.entrySet()) {entry.getValue();}long t3 = System.nanoTime();// 循环第三种Iterator<Integer> it = map.keySet().iterator();while (it.hasNext()) {Integer ii = (Integer) it.next();map.get(ii);}long t4 = System.nanoTime();// 循环第四种for (Integer kk : map.keySet()) {map.get(kk);}long t5 = System.nanoTime();System.out.println("第一种方法耗时:" + (t2 - t1) / 1000 + "微秒");System.out.println("第二种方法耗时:" + (t3 - t2) / 1000 + "微秒");System.out.println("第三种方法耗时:" + (t4 - t3) / 1000 + "微秒");System.out.println("第四种方法耗时:" + (t5 - t4) / 1000 + "微秒");}

输出结果:

第一种方法耗时:101918微秒
第二种方法耗时:49042微秒
第三种方法耗时:82706微秒
第四种方法耗时:75093微秒

把上述的1000000改成10,输出结果如下:

第一种方法耗时:806微秒
第二种方法耗时:453微秒
第三种方法耗时:19微秒
第四种方法耗时:17微秒
改为100:

第一种方法耗时:909微秒
第二种方法耗时:631微秒
第三种方法耗时:154微秒
第四种方法耗时:141微秒

经测试,第三种方法和第四种方法耗时基本差不多,当数据上万时,第二种方法的效率更高。

原文链接:https://www.cnblogs.com/hahajava/p/10210892.html

HashMap的四种遍历方法,及效率比较(简单明了)相关推荐

  1. java从1到9构建完全二叉树_Java完全二叉树的创建与四种遍历方法分析

    Java完全二叉树的创建与四种遍历方法分析 发布时间:2020-10-01 11:58:56 来源:脚本之家 阅读:87 作者:泡0沫 本文实例讲述了Java完全二叉树的创建与四种遍历方法.分享给大家 ...

  2. 面试官:HashMap有几种遍历方法?推荐使用哪种?

    作者 | 磊哥 来源 | Java面试真题解析(ID:aimianshi666) 转载请联系授权(微信ID:GG_Stone) HashMap 的遍历方法有很多种,不同的 JDK 版本有不同的写法,其 ...

  3. HashMap的五种遍历方法

    1. Iterator遍历 EntrySet /*** 在 Java 中遍历 HashMap 的5种最佳方法* @author Ramesh Fadatare**/ public class Iter ...

  4. 打印完全二叉树java_java 完全二叉树的构建与四种遍历方法示例

    本来就是基础知识,不能丢的太干净,今天竟然花了那么长的时间才写出来,记一下. 有如下的一颗完全二叉树: 先序遍历结果应该为:1  2  4  5  3  6  7 中序遍历结果应该为:4  2  5  ...

  5. 二叉树的四种遍历方法(前序遍历、中序遍历、后序遍历、层序遍历)有图有真相!!!

    文章目录 二叉树的四种遍历方式 前序遍历(Preorder Traversal) 中序遍历(Inorder Traversal) 后序遍历(Postorder Traversal) 层序遍历(Leve ...

  6. 【树的四种遍历方法(遍历排序二叉树)】

    文章目录 一.建立一个排序二叉树 二.四种遍历 前言 这里先给出建立一颗普通的排序二叉树,平衡二叉树的建立以及操作,等复习到再写吧. 一.排序二叉树 排序二叉树,即当前节点左子树 < 当前节点 ...

  7. # 遍历结构体_关于二叉树怎样建立和四种遍历方法你知道吗?

    1. 首先我们要知道二叉树的性质是什么2. 怎样建立二叉搜索树?3. 先序遍历4. 中序遍历5. 后序遍历6. 总结上述三种遍历规律7. 层序遍历 1. 首先我们要知道二叉树的性质是什么 在二叉树上, ...

  8. 【HashMap】HashMap的6种遍历方法

    目录 1 创建map 2 keySet获取Map集合key的集合 然后在遍历key即可 3 通过Map.entrySet遍历key和value, 4 通过迭代器(Iterator)的方式 5 分别循环 ...

  9. for-forEach-stream三种遍历方法执行效率比较与选用思考

    文章目录 想法 设计 实现 结论 建议 想法   在JDK-8中,新添加了很多的方法,比如说现在我所说的forEach,该方法是用于集合遍历的,其方式相当于传统的for循环遍历方式,只是与其不同之处就 ...

最新文章

  1. 安装了email模块还是报错_Git windows安装及使用教程
  2. CV之YOLOv3:基于Tensorflow框架利用YOLOv3算法对热播新剧《庆余年》实现目标检测
  3. java 连接 postgresql_java如何连接数据库并对其操作(以PostgreSQL为例)
  4. php管道邮件,php进程通信-PIPE管道通信
  5. Python笔记:日期时间获取与转换
  6. linux 连接两个异构网,如何在Linux(或异构)网络上共享计算机?
  7. 动手写procedure以及注意的细节
  8. python创建文件对象的函数_Python 文件对象常用内建方法
  9. JavaScript简单入门教程学习篇
  10. python画二次函数图像的顶点坐标为_二次函数顶点坐标公式
  11. adobe framemaker 资料
  12. 西安三日游-梦回长安
  13. H-divergence
  14. 日常一记(2)--vba修改模块名
  15. GPS的相关指标的意思
  16. 定点运算,浮点运算,算术逻辑单元
  17. andorid 使用ViewPager简单实现画廊Gallery效果 (一)
  18. ABOV使用UART注意事项
  19. 打破界限的高级时尚-瑞典时尚品牌HOPE进入中国
  20. ACCESS中DLOOKUP的语法和格式

热门文章

  1. 计算机主板晶振长稳短稳,晶振的指标参考
  2. 湖南计算机本科,湖南搞计算机科学与技术的本科有哪些?
  3. Java输入一个月份判断春夏秋冬季节中switch与if使用
  4. 越南使用的越南文unicode编码范围
  5. hadoop之hdfs的shell命令操作
  6. fcntl.py模块
  7. 黄斑裂孔易致失明,年长者和高度近视者尤其要注意!
  8. PHP strtotime() 函数将任何英文文本的日期或时间描述解析为 Unix 时间戳(自 January 1 1970 00:00:00 GMT 起的秒数)。
  9. 连接IBM MQ原因码报2537的错误解决记录
  10. Android App使用Edge大声朗读功能