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存放数组并取出值代码详解等,感谢朋友们对本站的支持。

相关文章

  • 关于二分法查找Java的实现及解析

    关于二分法查找Java的实现及解析

    这篇文章主要介绍了关于二分法查找Java的实现及解析,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07
  • 使用Spring Data JPA的坑点记录总结

    使用Spring Data JPA的坑点记录总结

    这篇文章主要给大家总结介绍了关于使用Spring Data JPA的一些坑点,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-12-12
  • Java将文件夹保留目录打包为 ZIP 压缩包并下载的教程详解

    Java将文件夹保留目录打包为 ZIP 压缩包并下载的教程详解

    这篇文章主要介绍了Java将文件夹保留目录打包为 ZIP 压缩包并下载的教程详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • Java 超详细讲解Spring MVC异常处理机制

    Java 超详细讲解Spring MVC异常处理机制

    Spring MVC中提供了一个通用的异常处理机制,它提供了一个成熟、简洁并且清晰的异常处理方案。当使用Spring MVC开发Web应用时,利用这套现成的机制进行异常处理也更加自然并且高效
    2022-04-04
  • Spring整合Mybatis具体代码实现流程

    Spring整合Mybatis具体代码实现流程

    这篇文章主要介绍了Spring整合Mybatis实操分享,文章首先通过介绍Mybatis的工作原理展开Spring整合Mybatis的详细内容,需要的小伙伴可以参考一下
    2022-05-05
  • SpringBoot启动过程逐步分析讲解

    SpringBoot启动过程逐步分析讲解

    这篇文章主要介绍了SpringBoot启动过程的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2023-01-01
  • 基于Spring Security实现对密码进行加密和校验

    基于Spring Security实现对密码进行加密和校验

    我们在入门案例中,其实已经是一个非常简单的认证,但是用户名是写死的,密码也需要从控制台查看,很显然实际中并不能这么做,下面的学习中,我们来实现基于内存模型的认证以及用户的自定义认证,密码加密等内容,需要的朋友可以参考下
    2024-07-07
  • mybatis查询到了数据,但是实体类个别字段为null问题

    mybatis查询到了数据,但是实体类个别字段为null问题

    这篇文章主要介绍了mybatis查询到了数据,但是实体类个别字段为null问题及解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-01-01
  • springboot封装响应实体的实例代码

    springboot封装响应实体的实例代码

    这篇文章主要介绍了springboot封装响应实体,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-07-07
  • JDK21中虚拟线程到底是什么以及用法总结(看完便知)

    JDK21中虚拟线程到底是什么以及用法总结(看完便知)

    这篇文章主要给大家介绍了关于JDK21中虚拟线程到底是什么以及用法的相关资料,虚拟线程是一种轻量化的线程封装,由jvm直接调度和管理,反之普通的线程其实是调用的操作系统的能力,对应的是操作系统级的线程,需要的朋友可以参考下
    2023-12-12

最新评论