【Java基础】HashMap的四种遍历以及耗时对比
来源:互联网 发布:重庆惠普程序员工资 编辑:程序博客网 时间:2024/06/05 07:55
HashMap的四种遍历以及耗时对比
1.method1
public static void method1(Map<String, Object> map) {getTime();Set<String> keySet = map.keySet();//键集合Iterator<String> it = keySet.iterator();//迭代器while(it.hasNext()) {String key = it.next();Object value = map.get(key);//System.out.println(key+"_"+value);}getTime();}
2.method2
public static void method2(Map<String,Object> map) {getTime();for(String key : map.keySet()) {Object value = map.get(key);//System.out.println(key+"_"+value);}getTime();}
3.method3
public static void method3(Map<String,Object> map) {getTime();Set<Entry<String, Object>> entrySet = map.entrySet();Iterator<Entry<String, Object>> it = entrySet.iterator();while(it.hasNext()) {Entry<String, Object> next = it.next();String key = next.getKey();Object value = next.getValue();//System.out.println(key+"_"+value);}getTime();}
4.method4
public static void method4(Map<String,Object> map) {getTime();for(Map.Entry<String, Object> entry : map.entrySet()) {String key = entry.getKey();Object value = entry.getValue();//System.out.println(key+"_"+value);}getTime();}
5.耗时对比
进行简单的数据量遍历测试,遍历时间应该与电脑性能不同有差异(尝试1000W时,电脑性能已经不够了,各位可以自行测试)。时间差单位ms。
6.整体代码
package hashMap;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Map.Entry;import java.util.Set;/** * * @author wsz * @date 2017年12月12日 耗时单位ms ---------------------------------- 数据量 5W 50W 500W ---------------------------------- method1 8 25 203-180-178 ---------------------------------- method2 11 24 201-198-187 ---------------------------------- method3 10 21 145-137-136 ---------------------------------- method4 9 21 151-135-136 ---------------------------------- */public class Demo1 {public static void main(String[] args) {Map<String,Object> map = new HashMap<String, Object>();long size = 10000000L;for(int i = 0; i < size ;i++) {map.put(String.valueOf(i), i);}method1(map);method2(map);method3(map);method4(map);}public static void method1(Map<String, Object> map) {getTime();Set<String> keySet = map.keySet();//键集合Iterator<String> it = keySet.iterator();//迭代器while(it.hasNext()) {String key = it.next();Object value = map.get(key);//System.out.println(key+"_"+value);}getTime();}public static void method2(Map<String,Object> map) {getTime();for(String key : map.keySet()) {Object value = map.get(key);//System.out.println(key+"_"+value);}getTime();}public static void method3(Map<String,Object> map) {getTime();Set<Entry<String, Object>> entrySet = map.entrySet();Iterator<Entry<String, Object>> it = entrySet.iterator();while(it.hasNext()) {Entry<String, Object> next = it.next();String key = next.getKey();Object value = next.getValue();//System.out.println(key+"_"+value);}getTime();}public static void method4(Map<String,Object> map) {getTime();for(Map.Entry<String, Object> entry : map.entrySet()) {String key = entry.getKey();Object value = entry.getValue();//System.out.println(key+"_"+value);}getTime();}public static void getTime() {System.out.println(System.currentTimeMillis());}}
阅读全文
0 0
- 【Java基础】HashMap的四种遍历以及耗时对比
- java HashMap遍历的三种方式以及效率对比
- Java --- HashMap的四种循环遍历方式及性能对比
- Java -- HashMap的四种遍历方式
- 【JAVA基础】HashMap的遍历
- HashMap的四种遍历
- hashMap的四种遍历
- 遍历HashMap的四种
- Java中HashMap遍历的四种方式
- Java中HashMap遍历的四种方式
- Java中HashMap遍历的四种方式
- Java中HashMap遍历的四种方式
- java 遍历arrayList的四种方法及其效率对比
- Java遍历List四种方法的效率对比
- java 遍历arrayList的四种方法及其效率对比
- 遍历HashMap的四种方法
- HashMap的四种循环遍历方式
- 遍历HashMap的四种方法
- 加载外部的properties配置文件
- selenium+python截图不成功
- 岭回归——额外参数alpha和预测系数coefs的关系
- 电路基础学习笔记5:实验验证电压源与电流源的等效变换
- 兄弟连学python》》》》Python基础常识
- 【Java基础】HashMap的四种遍历以及耗时对比
- unity报错篇-Unsupported texture format
- Unity获取正在播放动画片段的长度
- 双向链表 Java
- Ajax
- 操作系统学习-5. 进程同步
- C语言除法运算符“/”和求余运算符“%”
- matlab数据读取技巧总结
- 从键盘任意输入一个数,不使用计算绝对值函数编程计算并输出该实数的绝对值