HashMap的四种遍历方法,及效率比较(简单明了)
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的四种遍历方法,及效率比较(简单明了)相关推荐
- java从1到9构建完全二叉树_Java完全二叉树的创建与四种遍历方法分析
Java完全二叉树的创建与四种遍历方法分析 发布时间:2020-10-01 11:58:56 来源:脚本之家 阅读:87 作者:泡0沫 本文实例讲述了Java完全二叉树的创建与四种遍历方法.分享给大家 ...
- 面试官:HashMap有几种遍历方法?推荐使用哪种?
作者 | 磊哥 来源 | Java面试真题解析(ID:aimianshi666) 转载请联系授权(微信ID:GG_Stone) HashMap 的遍历方法有很多种,不同的 JDK 版本有不同的写法,其 ...
- HashMap的五种遍历方法
1. Iterator遍历 EntrySet /*** 在 Java 中遍历 HashMap 的5种最佳方法* @author Ramesh Fadatare**/ public class Iter ...
- 打印完全二叉树java_java 完全二叉树的构建与四种遍历方法示例
本来就是基础知识,不能丢的太干净,今天竟然花了那么长的时间才写出来,记一下. 有如下的一颗完全二叉树: 先序遍历结果应该为:1 2 4 5 3 6 7 中序遍历结果应该为:4 2 5 ...
- 二叉树的四种遍历方法(前序遍历、中序遍历、后序遍历、层序遍历)有图有真相!!!
文章目录 二叉树的四种遍历方式 前序遍历(Preorder Traversal) 中序遍历(Inorder Traversal) 后序遍历(Postorder Traversal) 层序遍历(Leve ...
- 【树的四种遍历方法(遍历排序二叉树)】
文章目录 一.建立一个排序二叉树 二.四种遍历 前言 这里先给出建立一颗普通的排序二叉树,平衡二叉树的建立以及操作,等复习到再写吧. 一.排序二叉树 排序二叉树,即当前节点左子树 < 当前节点 ...
- # 遍历结构体_关于二叉树怎样建立和四种遍历方法你知道吗?
1. 首先我们要知道二叉树的性质是什么2. 怎样建立二叉搜索树?3. 先序遍历4. 中序遍历5. 后序遍历6. 总结上述三种遍历规律7. 层序遍历 1. 首先我们要知道二叉树的性质是什么 在二叉树上, ...
- 【HashMap】HashMap的6种遍历方法
目录 1 创建map 2 keySet获取Map集合key的集合 然后在遍历key即可 3 通过Map.entrySet遍历key和value, 4 通过迭代器(Iterator)的方式 5 分别循环 ...
- for-forEach-stream三种遍历方法执行效率比较与选用思考
文章目录 想法 设计 实现 结论 建议 想法 在JDK-8中,新添加了很多的方法,比如说现在我所说的forEach,该方法是用于集合遍历的,其方式相当于传统的for循环遍历方式,只是与其不同之处就 ...
最新文章
- 安装了email模块还是报错_Git windows安装及使用教程
- CV之YOLOv3:基于Tensorflow框架利用YOLOv3算法对热播新剧《庆余年》实现目标检测
- java 连接 postgresql_java如何连接数据库并对其操作(以PostgreSQL为例)
- php管道邮件,php进程通信-PIPE管道通信
- Python笔记:日期时间获取与转换
- linux 连接两个异构网,如何在Linux(或异构)网络上共享计算机?
- 动手写procedure以及注意的细节
- python创建文件对象的函数_Python 文件对象常用内建方法
- JavaScript简单入门教程学习篇
- python画二次函数图像的顶点坐标为_二次函数顶点坐标公式
- adobe framemaker 资料
- 西安三日游-梦回长安
- H-divergence
- 日常一记(2)--vba修改模块名
- GPS的相关指标的意思
- 定点运算,浮点运算,算术逻辑单元
- andorid 使用ViewPager简单实现画廊Gallery效果 (一)
- ABOV使用UART注意事项
- 打破界限的高级时尚-瑞典时尚品牌HOPE进入中国
- ACCESS中DLOOKUP的语法和格式
热门文章
- 计算机主板晶振长稳短稳,晶振的指标参考
- 湖南计算机本科,湖南搞计算机科学与技术的本科有哪些?
- Java输入一个月份判断春夏秋冬季节中switch与if使用
- 越南使用的越南文unicode编码范围
- hadoop之hdfs的shell命令操作
- fcntl.py模块
- 黄斑裂孔易致失明,年长者和高度近视者尤其要注意!
- PHP strtotime() 函数将任何英文文本的日期或时间描述解析为 Unix 时间戳(自 January 1 1970 00:00:00 GMT 起的秒数)。
- 连接IBM MQ原因码报2537的错误解决记录
- Android App使用Edge大声朗读功能