第一种:  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遍历的两种方式相关推荐

  1. java hashmap遍历顺序_Java中HashMap遍历的两种方式

    第一种: Map map =  HashMap(); Iterator iter = map.entrySet().iterator(); (iter.hasNext()) { Map.Entry e ...

  2. [Java] HashMap遍历的两种方式

    Java中HashMap遍历的两种方式原文地址: http://www.javaweb.cc/language/java/032291.shtml 第一种: Map map = new HashMap ...

  3. HashMap遍历的两种方式,推荐使用entrySet()

    转自:HashMap遍历的两种方式,推荐使用entrySet() 第一种: Map map = new HashMap(); Iterator iter = map.entrySet().iterat ...

  4. java中Map遍历的四种方式

    java中Map遍历的四种方式 在java中所有的map都实现了Map接口,因此所有的Map(如HashMap, TreeMap, LinkedHashMap, Hashtable等)都可以用以下的方 ...

  5. java中Map遍历的三种方式

    Java中Map遍历的三种方式 前言 一:在for循环中使用entries实现Map的遍历: 二:在for循环中遍历key或者values,一般适用于只需要map中的key或者value时使用,在性能 ...

  6. Java中实现多线程的两种方式之间的区别

    Java提供了线程类Thread来创建多线程的程序.其实,创建线程与创建普通的类的对象的操作是一样的,而线程就是Thread类或其子类的实例对象.每个Thread对象描述了一个单独的线程.要产生一个线 ...

  7. java中实现同步的两种方式:syschronized和lock的区别和联系

    转载自 http://www.cnblogs.com/xiohao/p/4151408.html Lock是java.util.concurrent.locks包下的接口,Lock 实现提供了比使用s ...

  8. Java中Http连接的两种方式

    在java中连接http,介绍两种方法,一种是java的HttpUrlConnection,另一种是apacha公司的httpClient,后者是第三方的类库需要从外部,导入,同时这也是第一次使用外部 ...

  9. Java HashMap遍历的两种方式

    今天来搞一次HashMap 遍历的操作方式: 经过测试,方式一的效率要远高于方式二.,1000000条测试数据,第一种大概耗时20多秒,第二种耗时大概40多秒.所以,建议以后使用第一种方式. 直接上代 ...

最新文章

  1. 深度无盘服务器网卡,无盘服务器网卡
  2. php 安全基础 第一章简介 原则
  3. 对查找的结果进行删除
  4. ET.parse 中文
  5. idea普通java项目引入lombok_Intellij IDEA 安装lombok及使用详解
  6. python一次性读取整个文件-python逐行读取文件内容的三种方法
  7. 文章已转移到“字符集编码与乱码”分类下
  8. C++ COM编程之什么是组件
  9. Java点击按钮div缩放_[Java教程]怎样给div增加resize事件
  10. (一)golang工作区
  11. 现代控制理论 之 LQR控制
  12. 360浏览器cookie的导出
  13. 《机器人动力学与控制》第九章——动力学 9.1 初探欧拉-拉格朗日方程法
  14. 优化数据库的八种经典方式
  15. ISO20022报文
  16. linux 学习决心书
  17. win7计算机资源管理器卡住,Win7资源管理器未响应的解决方法
  18. php转换java工具_6款程序员必备的开源中文汉字拼音转换及处理工具 (PHP Java .net)...
  19. 第五十八章 SQL函数 FLOOR
  20. PDF生成插件--TcPDF

热门文章

  1. bootstrap算法_决策树算法之随机森林
  2. 清除element残留表单校验
  3. ava返回json格式的状态码数据(一)
  4. JavaScript算法与数据结构——字典详解
  5. ANN:ML方法与概率图模型
  6. 约三分之二的 DDoS 攻击指向通信服务提供商
  7. getRequestDispatcher()与sendRedirect()的区别
  8. [Spark][Python]groupByKey例子
  9. Java中的数据类型及相互转换方法
  10. 重写ScrollView实现两个ScrollView的同步滚动显示