Java中HashMap遍历的两种方式
第一种: Map map = new HashMap(); Iterator iter = map.entrySet().iterator(); while (iter.hasNext()) { Map.Entry entry = (Map.Entry) iter.next(); Object key = entry.getKey(); Object val = entry.getValue(); } 效率高,以后一定要使用此种方式!第二种: Map map = new HashMap(); Iterator iter = map.keySet().iterator(); while (iter.hasNext()) { Object key = iter.next(); Object val = map.get(key); } 效率低,以后尽量少使用! HashMap的遍历有两种常用的方法,那就是使用keyset及entryset来进行遍历,但两者的遍历速度是有差别的,下面请看实例: public class HashMapTest { public static void main(String[] args) ...{ HashMap hashmap = new HashMap(); for (int i = 0; i < 1000; i ) ...{ hashmap.put("" i, "thanks"); } long bs = Calendar.getInstance().getTimeInMillis(); Iterator iterator = hashmap.keySet().iterator(); while (iterator.hasNext()) ...{ System.out.print(hashmap.get(iterator.next())); } System.out.println(); System.out.println(Calendar.getInstance().getTimeInMillis() - bs); listHashMap(); } public static void listHashMap() ...{ java.util.HashMap hashmap = new java.util.HashMap(); for (int i = 0; i < 1000; i ) ...{ hashmap.put("" i, "thanks"); } long bs = Calendar.getInstance().getTimeInMillis(); java.util.Iterator it = hashmap.entrySet().iterator(); while (it.hasNext()) ...{ java.util.Map.Entry entry = (java.util.Map.Entry) it.next(); // entry.getKey() 返回与此项对应的键 // entry.getValue() 返回与此项对应的值 System.out.print(entry.getValue()); } System.out.println(); System.out.println(Calendar.getInstance().getTimeInMillis() - bs); } } 对于keySet其实是遍历了2次,一次是转为iterator,一次就从hashmap中取出key所对于的value。而entryset只是遍历了第一次,他把key和value都放到了entry中,所以就快了。 Java中HashMap遍历的两种方式(本教程仅供研究和学习,不代表JAVA中文网观点)本篇文章链接地址:http://www.javaweb.cc/language/java/032291.shtml如需转载请注明出自JAVA中文网:http://www.javaweb.cc/ 还是第一种好,简单。。。
Java中HashMap遍历的两种方式相关推荐
- java hashmap遍历顺序_Java中HashMap遍历的两种方式
第一种: Map map = HashMap(); Iterator iter = map.entrySet().iterator(); (iter.hasNext()) { Map.Entry e ...
- [Java] HashMap遍历的两种方式
Java中HashMap遍历的两种方式原文地址: http://www.javaweb.cc/language/java/032291.shtml 第一种: Map map = new HashMap ...
- HashMap遍历的两种方式,推荐使用entrySet()
转自:HashMap遍历的两种方式,推荐使用entrySet() 第一种: Map map = new HashMap(); Iterator iter = map.entrySet().iterat ...
- java中Map遍历的四种方式
java中Map遍历的四种方式 在java中所有的map都实现了Map接口,因此所有的Map(如HashMap, TreeMap, LinkedHashMap, Hashtable等)都可以用以下的方 ...
- java中Map遍历的三种方式
Java中Map遍历的三种方式 前言 一:在for循环中使用entries实现Map的遍历: 二:在for循环中遍历key或者values,一般适用于只需要map中的key或者value时使用,在性能 ...
- Java中实现多线程的两种方式之间的区别
Java提供了线程类Thread来创建多线程的程序.其实,创建线程与创建普通的类的对象的操作是一样的,而线程就是Thread类或其子类的实例对象.每个Thread对象描述了一个单独的线程.要产生一个线 ...
- java中实现同步的两种方式:syschronized和lock的区别和联系
转载自 http://www.cnblogs.com/xiohao/p/4151408.html Lock是java.util.concurrent.locks包下的接口,Lock 实现提供了比使用s ...
- Java中Http连接的两种方式
在java中连接http,介绍两种方法,一种是java的HttpUrlConnection,另一种是apacha公司的httpClient,后者是第三方的类库需要从外部,导入,同时这也是第一次使用外部 ...
- Java HashMap遍历的两种方式
今天来搞一次HashMap 遍历的操作方式: 经过测试,方式一的效率要远高于方式二.,1000000条测试数据,第一种大概耗时20多秒,第二种耗时大概40多秒.所以,建议以后使用第一种方式. 直接上代 ...
最新文章
- 深度无盘服务器网卡,无盘服务器网卡
- php 安全基础 第一章简介 原则
- 对查找的结果进行删除
- ET.parse 中文
- idea普通java项目引入lombok_Intellij IDEA 安装lombok及使用详解
- python一次性读取整个文件-python逐行读取文件内容的三种方法
- 文章已转移到“字符集编码与乱码”分类下
- C++ COM编程之什么是组件
- Java点击按钮div缩放_[Java教程]怎样给div增加resize事件
- (一)golang工作区
- 现代控制理论 之 LQR控制
- 360浏览器cookie的导出
- 《机器人动力学与控制》第九章——动力学 9.1 初探欧拉-拉格朗日方程法
- 优化数据库的八种经典方式
- ISO20022报文
- linux 学习决心书
- win7计算机资源管理器卡住,Win7资源管理器未响应的解决方法
- php转换java工具_6款程序员必备的开源中文汉字拼音转换及处理工具 (PHP Java .net)...
- 第五十八章 SQL函数 FLOOR
- PDF生成插件--TcPDF