Map集合的四种遍历方式代码示例

 更新时间:2017年10月31日 16:59:56   作者:浮世薄凉  
这篇文章主要介绍了Map集合的四种遍历方式代码示例,具有一定参考价值,需要的朋友可以了解下。

很久以前写的代码,和上一个做比较吧!便于以后查看。

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
public class TestMap {
  public static void main(String[] args) {
    Map<Integer, String> map = new HashMap<Integer, String>();
    map.put(1, "a");
    map.put(2, "b");
    map.put(3, "ab");
    map.put(4, "ab");
    map.put(4, "ab");// 和上面相同 , 会自己筛选
    System.out.println(map.size());
    // 第一种:
    /*
     * Set<Integer> set = map.keySet(); //得到所有key的集合
     * 
     * for (Integer in : set) { String str = map.get(in);
     * System.out.println(in + "   " + str); }
     */
    System.out.println("第一种:通过Map.keySet遍历key和value:");
    for (Integer in : map.keySet()) {
      //map.keySet()返回的是所有key的值
      String str = map.get(in);//得到每个key多对用value的值
      System.out.println(in + "   " + str);
    }
    // 第二种:
    System.out.println("第二种:通过Map.entrySet使用iterator遍历key和value:");
    Iterator<Map.Entry<Integer, String>> it = map.entrySet().iterator();
    while (it.hasNext()) {
       Map.Entry<Integer, String> entry = it.next();
        System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
    }
    // 第三种:推荐,尤其是容量大时
    System.out.println("第三种:通过Map.entrySet遍历key和value");
    for (Map.Entry<Integer, String> entry : map.entrySet()) {
      //Map.entry<Integer,String> 映射项(键-值对) 有几个方法:用上面的名字entry
      //entry.getKey() ;entry.getValue(); entry.setValue();
      //map.entrySet() 返回此映射中包含的映射关系的 Set视图。
      System.out.println("key= " + entry.getKey() + " and value= "
          + entry.getValue());
    }
    // 第四种:
    System.out.println("第四种:通过Map.values()遍历所有的value,但不能遍历key");
    for (String v : map.values()) {
      System.out.println("value= " + v);
    }
  }
}

结果:

4
第一种:通过Map.keySet遍历key和value:
1   a
2   b
3   ab
4   ab
第二种:通过Map.entrySet使用iterator遍历key和value:
key= 1 and value= a
key= 2 and value= b
key= 3 and value= ab
key= 4 and value= ab
第三种:通过Map.entrySet遍历key和value
key= 1 and value= a
key= 2 and value= b
key= 3 and value= ab
key= 4 and value= ab
第四种:通过Map.values()遍历所有的value,但不能遍历key
value= a
value= b
value= ab
value= ab

总结

以上就是本文关于Map集合的四种遍历方式代码示例的全部内容,希望对大家有所帮助。温故而知新,可以为师矣。。。map集合的遍历属于老话题了,有什么问题直接留言吧,小编会及时回复大家的。感兴趣的朋友可以继续参阅:Java中map遍历方式的选择问题详解Struts2中ognl遍历数组,list和map方法详解Java map存放数组并取出值代码详解等,感谢朋友们对本站的支持。

相关文章

  • SpringBoot Webflux创建TCP/UDP server并使用handler解析数据

    SpringBoot Webflux创建TCP/UDP server并使用handler解析数据

    这篇文章主要介绍了SpringBoot Webflux创建TCP/UDP server并使用handler解析数据,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • 深入解析Spring中的@Bean注解

    深入解析Spring中的@Bean注解

    这篇文章主要介绍了深入解析Spring中的@Bean注解,Spring的@Bean注解用于告诉方法,产生一个Bean对象,然后这个Bean对象交给Spring管理,产生这个Bean对象的方法Spring只会调用一次,随后这个Spring将会将这个Bean对象放在自己的IOC容器中,需要的朋友可以参考下
    2023-07-07
  • Java Spring框架的概述

    Java Spring框架的概述

    这篇文章主要为大家介绍了Java Spring框架,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-01-01
  • 简单谈谈Spring Ioc原理解析

    简单谈谈Spring Ioc原理解析

    学习过Spring框架的人一定都会听过Spring的IoC(控制反转) 、DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC 、DI这两个概念是模糊不清的,是很难理解的,今天和大家分享网上的一些技术大牛们对Spring框架的IOC的理解以及谈谈我对Spring Ioc的理解。
    2018-09-09
  • 详解java中的互斥锁信号量和多线程等待机制

    详解java中的互斥锁信号量和多线程等待机制

    这篇文章主要介绍了Java编程中的互斥锁,信号量和多线程等待机制实例详解,简单介绍了互斥锁和信号量的区别,需要的朋友可以了解下。
    2017-09-09
  • Hibernate缓存机制实例代码解析

    Hibernate缓存机制实例代码解析

    这篇文章主要介绍了Hibernate缓存机制实例代码解析,介绍了查询缓存,一级二级缓存等内容,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
    2018-02-02
  • Java实现的程序员老黄历实例

    Java实现的程序员老黄历实例

    这篇文章主要介绍了Java实现的程序员老黄历实例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05
  • Netty分布式pipeline管道Handler的删除逻辑操作

    Netty分布式pipeline管道Handler的删除逻辑操作

    这篇文章主要为大家介绍了Netty分布式pipeline管道Handler的删除逻辑操作,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-03-03
  • MyBatis-Plus 分页不生效的解决方法

    MyBatis-Plus 分页不生效的解决方法

    本文主要介绍了MyBatis-Plus 分页不生效的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-05-05
  • springboot结合websocket聊天室实现私聊+群聊

    springboot结合websocket聊天室实现私聊+群聊

    本文主要介绍了springboot结合websocket聊天室实现私聊+群聊,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07

最新评论