Java中HashMap遍历的两种方式「建议收藏」

Java中HashMap遍历的两种方式「建议收藏」转]Java中HashMap遍历的两种方式原文地址:http://www.javaweb.cc/language/java/032291.shtml第一种:  Mapmap=newHashMap();  Iteratoriter=map.entrySet().iterator();  while(iter.hasNext()){  Map.Entryentry

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

转]Java中HashMap遍历的两种方式
原文地址: http://www.javaweb.cc/language/java/032291.shtml

第一种:
  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/


还是第一种好,简单。。。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/197618.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 多租户技术

    多租户技术多租户技术

    2022年4月25日
  • Tomcat优化详细教程

    Tomcat是我们经常使用的servlet容器之一,甚至很多线上产品都使用Tomcat充当服务器。而且优化后的Tomcat性能提升显著,本文从以下几方面进行分析优化。      一、内存优化    默认情况下Tomcat的相关内存配置较低,这对于一些大型项目显然是不够用的,这些项目运行就已经耗费了大部分内存空间,何况大规模访问的情况。即使是本文中的这个只有

    2022年4月3日
  • mybatis插件原理_mybatis分页查询实现

    mybatis插件原理_mybatis分页查询实现目录一、mybatis插件介绍二、mybatis插件原理1、创建2、拦截1)首先是ParameterHandler的创建,在Configuration类当中:2)interceptorChain保存了所有的拦截器(interceptors),是mybatis初始化的时候创建的。3、应用1)类相关代码2)插件配置,在sqlMapConfig.xml中三、自定义插件1、插件接口2、自定义插件1)相关类代码2)相关配置sqlMapConfig.xml3)mapper接口4)mapper.

    2022年10月7日
  • Linux cpu性能问题排查

    Linux cpu性能问题排查

    2021年6月29日
  • python多行注释快捷键用不了_jupyter多行注释快捷键

    python多行注释快捷键用不了_jupyter多行注释快捷键在编写Python程代码时,有时需要将部分代码注释掉,而如果我们一行一行的进行注释,显然是非常麻烦,不够方便。那么我们想要把多行代码程序快速注释掉,有没有什么快捷键可以实现多行注释吗?《Python快乐编程》千锋教育告诉你具体方法。当然是有的,并且有三种方式实现。一、我们可以通过快捷键:Ctr+/来实现。注意:我们在操作此快捷键前需要首先选中准备要注释的代码!单行和多行的注释是一样的…

    2022年8月15日
  • 企业社交,阿里钉钉向左,企业微信向右

    企业社交,阿里钉钉向左,企业微信向右在企业社交领域里,阿里钉钉和企业微信这两大巨头,正在各自轨道上加速突进,以不同的模式在企业级服务市场引发深刻变化。进击的阿里钉钉截止到2018年底,阿里钉钉上的企业组织达到了700万家以上,也就是说钉钉已经实现了对16%中国企业的覆盖。但进击的钉钉并不满足于此,它在两个方向上发起了新的挑战:一是在巩固原有中小企业市场的基础上,开始向大企业市场延伸;并以全链路数字化办公解决方案为基础,将钉钉从“…

    2022年5月14日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号