java中Map遍历的四种方式总结

 更新时间:2023年03月27日 11:13:16   作者:睡竹  
Map集合遍历日常开发最常使用,下面这篇文章主要给大家总结介绍了关于java中Map遍历的四种方式,文中通过实例代码介绍的非常详细,对大家学习或者使用java具有一定的参考学习价值,需要的朋友可以参考下

本文以如下map案例:

Map<String, String> map = new HashMap<>();
map.put("student1", "张三");
map.put("student2", "李四");
map.put("student3", "王五");

1、map.entrySet()方式

entrySet()方法: 获取map中所有的键值对,结果为Set集合

在jdk版本小于1.8时,该种方式经常使用,效率高

//获取map中的所有键值对,结果为Set类型的集合
Set<Map.Entry<String, String>> entries = map.entrySet();
/** 遍历Set集合、开发中常见的遍历方式 */
//1、增强for形式遍历结果
for (Map.Entry<String, String> entry : entries) {
     System.out.println(entry);
}
//2、Lamdba表达式遍历结果
entries.forEach(entry-> System.out.println(entry));

2、map.keySet()方式

keySet()方法:获取map中的所有键(key),结果为Set集合

该种方式比 entrySet()方式较慢,且比方式4慢,实际开发中也可使用

//获取map中的所有键,结果为Set类型的集合
Set<String> keys = map.keySet();
//根据key获取map中的元素
for (String key : keys) {
    System.out.println(map.get(key));
}

3、map.values()方式

values():直接获取map所有的值(value),组装为一个Collection集合

该种方式效率最低,使用到最上层的Collection接口,开发中应当避免使用

//直接获取map所有的值(value),组装为一个Collection集合【Collection集合是Set、List的父接口】
Collection<String> values = map.values();
//遍历Collection集合
for (String value : values) {
    System.out.println(value);
}

4、forEach方式

需JDK8及以上,直接支持遍历map

该种方式是方式1(entrySet)的进一步封装,优化了代码的简洁性,性能与entrySet略慢(因为进一步封装了下),开发中经常使用

语法:

//当业务代码只有一句时,"{}"符号与";"符号可以省略

map.forEach((键变量名称,值遍历名称)->{

        //业务代码

});

map.forEach((key,value)-> System.out.println(value));

总结

到此这篇关于java中Map遍历的四种方式总结的文章就介绍到这了,更多相关java Map遍历方式内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 一文搞懂Java创建线程的五种方法

    一文搞懂Java创建线程的五种方法

    本文主要为大家详细介绍一下Java实现线程创建的五种常见方式,文中的示例代码讲解详细,对我们学习有一定的帮助,感兴趣的可以跟随小编学习一下
    2022-06-06
  • Java读取OpenSSL生成的PEM公钥文件操作

    Java读取OpenSSL生成的PEM公钥文件操作

    这篇文章主要介绍了Java读取OpenSSL生成的PEM公钥文件操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-10-10
  • 拳皇(Java简单的小程序)代码实例

    拳皇(Java简单的小程序)代码实例

    这篇文章主要介绍了拳皇Java简单小程序,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • Java 如何获取url地址文件流

    Java 如何获取url地址文件流

    这篇文章主要介绍了Java 如何获取url地址文件流,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07
  • springboot用户数据修改的详细实现

    springboot用户数据修改的详细实现

    用户管理功能作为所有的系统是必不可少的一部分,下面这篇文章主要给大家介绍了关于springboot用户数据修改的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2022-04-04
  • Java中的内部类你了解吗

    Java中的内部类你了解吗

    这篇文章主要为大家介绍了Java的内部类,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-01-01
  • java实现短地址服务的方法(附代码)

    java实现短地址服务的方法(附代码)

    大多数情况下URL太长,字符多,不便于发布复制和存储,本文就介绍了通过java实现短地址服务,减少了许多使用太长URL带来的不便,需要的朋友可以参考下
    2015-07-07
  • 基于IDEA 的远程调试 Weblogic的操作过程

    基于IDEA 的远程调试 Weblogic的操作过程

    这篇文章主要介绍了基于IDEA 的远程调试 Weblogic的操作过程,本文通过图文实例相结合给大家介绍的非常详细,需要的朋友可以参考下
    2021-09-09
  • mybatis拦截器注册初始化编写示例及如何生效详解

    mybatis拦截器注册初始化编写示例及如何生效详解

    这篇文章主要为大家介绍了mybatis拦截器注册初始化编写示例及如何生效详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • java实现String字符串处理各种类型转换

    java实现String字符串处理各种类型转换

    在日常的程序开发中,经常会涉及到不同类型之间的转换,本文主要介绍了String字符串处理各种类型转换,具有一定的参考价值,感兴趣的可以了解一下
    2023-10-10

最新评论