HashMap遍历
来源:互联网 发布:淘宝马甲是什么意思啊 编辑:程序博客网 时间:2024/06/06 02:25
package com.huawei.scp.api.query;import java.util.HashMap;import java.util.Map;import java.util.Map.Entry;// HashMap的遍历有两种常用的方法,使用keyset及entryset来进行遍历,但两者的遍历速度是有差别的。public class TestHashMap{ public static void main(String[] args) { Map<String, Integer> map1 = new HashMap<String, Integer>(); map1.put("a", 0); map1.put("b", 1); map1.put("c", 2); // keyset遍历 System.out.println("keyset遍历-----------"); for (String key : map1.keySet()) { Integer value = map1.get(key); System.out.println("key:" + key + " value:" + value); } // entryset遍历 System.out.println("\nentryset遍历-----------"); for (Entry<String, Integer> entry : map1.entrySet()) { String key = entry.getKey(); Integer value = entry.getValue(); System.out.println("key:" + key + " value:" + value); } // 两者性能测试 System.out.println("\n两者性能区别-----------"); Map<String, Integer> map2 = new HashMap<String, Integer>(); for (int i = 0; i < 99999; i++) { map2.put(String.valueOf(i), i); } // keyset遍历时间 long time1Start = System.currentTimeMillis(); for (String key : map2.keySet()) { Integer value = map2.get(key); // System.out.println("key:" + key + " value:" + value); } long time1End = System.currentTimeMillis(); System.out.println("keyset遍历需要时间:" + (time1End - time1Start)); // entryset遍历时间 long time2Start = System.currentTimeMillis(); for (Entry<String, Integer> entry : map2.entrySet()) { String key = entry.getKey(); Integer value = entry.getValue(); // System.out.println("key:" + key + " value:" + value); } long time2End = System.currentTimeMillis(); System.out.println("entryset遍历需要时间:" + (time2End - time2Start)); }}
输出结果:
keyset遍历-----------key:b value:1key:c value:2key:a value:0entryset遍历-----------key:b value:1key:c value:2key:a value:0两者性能区别-----------keyset遍历需要时间:16entryset遍历需要时间:0
- 遍历HashMap
- HashMap遍历
- 遍历HashMap
- 遍历HashMap
- 遍历hashmap
- HashMap 遍历
- 遍历hashMap
- HashMap遍历
- 遍历hashmap
- HashMap遍历
- 遍历HashMap
- 遍历HashMap
- 遍历HashMap
- HashMap遍历
- 遍历HashMap
- HashMap遍历
- 遍历HashMap
- HashMap遍历
- 页面框架布局
- 简单Blog项目笔记之三:用户登录模块(验证码、MD5)
- JAVA Synchronized 详解(二)
- POJ 3640 Conformity
- MapReduce:默认Counter的含义
- HashMap遍历
- Java编程中的绝对路经和相对路径
- 解析Android如何利用Handler
- QTP11与QC11框架整理源代码
- The Elephant Man——Chapter 6 Outside the Hospital
- MFC框架程序中OnIdle
- 如何正确手工启动Windows下的Oracle RAC数据库
- js页面跳转总结
- 在class文件中读取Tomcat站点的根目录