遍历 HashMap 的 5 种最佳方式

遍历 HashMap 的 5 种最佳方式摘要今天分享下 遍历 HashMap 的 5 种最佳方式的一些基本知识 欢迎关注 在本文中 我们将通过示例讨论在 Java 上遍历 HashMap 的五种最佳方法 使用 Iterator 遍历 HashMapEntry 使用 Iterator 遍历 HashMapKeySe 使用 For each 循环迭代 HashMap 使用 Lambda 表达式遍历 H

?摘要


今天分享下 —— 遍历 HashMap 的 5 种最佳方式 的一些基本知识,欢迎关注!

在本文中,我们将通过示例讨论在 Java 上遍历 HashMap 的五种最佳方法。

  • 使用 Iterator 遍历 HashMap EntrySet
  • 使用 Iterator 遍历 HashMap KeySet
  • 使用 For-each 循环迭代 HashMap
  • 使用 Lambda 表达式遍历 HashMap
  • 使用 Stream API 遍历 HashMap

?分享


?1.使用 Iterator 遍历 HashMap EntrySet

package com.java.tutorials.iterations; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; / * 在 Java 中遍历 HashMap 的5种最佳方法 * @author Sunny Chen * */ public class IterateHashMapExample { 
       public static void main(String[] args) { 
       // 1. 使用 Iterator 遍历 HashMap EntrySet  Map < Integer, String > coursesMap = new HashMap < Integer, String > (); coursesMap.put(1, "C"); coursesMap.put(2, "C++"); coursesMap.put(3, "Java"); coursesMap.put(4, "Spring Framework"); coursesMap.put(5, "Hibernate ORM framework"); Iterator < Entry < Integer, String >> iterator = coursesMap.entrySet().iterator(); while (iterator.hasNext()) { 
       Entry < Integer, String > entry = iterator.next(); System.out.println(entry.getKey()); System.out.println(entry.getValue()); } } } 

Output:

1 C 2 C++ 3 Java 4 Spring Framework 5 Hibernate ORM framework 

?2.使用 Iterator 遍历 HashMap KeySet

package com.java.tutorials.iterations; import java.util.HashMap; import java.util.Iterator; import java.util.Map; / * 在 Java 中遍历 HashMap 的5种最佳方法 * @author Sunny Chen * */ public class IterateHashMapExample { 
        public static void main(String[] args) { 
        Map < Integer, String > coursesMap = new HashMap < Integer, String > (); coursesMap.put(1, "C"); coursesMap.put(2, "C++"); coursesMap.put(3, "Java"); coursesMap.put(4, "Spring Framework"); coursesMap.put(5, "Hibernate ORM framework"); // 2. 使用 Iterator 遍历 HashMap KeySet  Iterator < Integer > iterator = coursesMap.keySet().iterator(); while (iterator.hasNext()) { 
        Integer key = iterator.next(); System.out.println(key); System.out.println(coursesMap.get(key)); } } } 

Output:

1 C 2 C++ 3 Java 4 Spring Framework 5 Hibernate ORM framework 

?3.使用 For-each 循环遍历 HashMap

package com.java.tutorials.iterations; import java.util.HashMap; import java.util.Map; / * 在 Java 中遍历 HashMap 的5种最佳方法 * @author Sunny Chen * */ public class IterateHashMapExample { 
         public static void main(String[] args) { 
         Map < Integer, String > coursesMap = new HashMap < Integer, String > (); coursesMap.put(1, "C"); coursesMap.put(2, "C++"); coursesMap.put(3, "Java"); coursesMap.put(4, "Spring Framework"); coursesMap.put(5, "Hibernate ORM framework"); // 3. 使用 For-each 循环遍历 HashMap  for (Map.Entry < Integer, String > entry: coursesMap.entrySet()) { 
         System.out.println(entry.getKey()); System.out.println(entry.getValue()); } } } 

Output:

1 C 2 C++ 3 Java 4 Spring Framework 5 Hibernate ORM framework 

?4. 使用 Lambda 表达式遍历 HashMap

package com.java.tutorials.iterations; import java.util.HashMap; import java.util.Map; / * 在 Java 中遍历 HashMap 的5种最佳方法 * @author Sunny Chen * */ public class IterateHashMapExample { 
          public static void main(String[] args) { 
          Map < Integer, String > coursesMap = new HashMap < Integer, String > (); coursesMap.put(1, "C"); coursesMap.put(2, "C++"); coursesMap.put(3, "Java"); coursesMap.put(4, "Spring Framework"); coursesMap.put(5, "Hibernate ORM framework"); // 4. 使用 Lambda 表达式遍历 HashMap  coursesMap.forEach((key, value) -> { 
          System.out.println(key); System.out.println(value); }); } } 

Output:

1 C 2 C++ 3 Java 4 Spring Framework 5 Hibernate ORM framework 

✨5. 使用 Stream API 遍历 HashMap

package com.java.tutorials.iterations; import java.util.HashMap; import java.util.Map; / * 在 Java 中遍历 HashMap 的5种最佳方法 * @author Sunny Chen * */ public class IterateHashMapExample { 
           public static void main(String[] args) { 
           Map < Integer, String > coursesMap = new HashMap < Integer, String > (); coursesMap.put(1, "C"); coursesMap.put(2, "C++"); coursesMap.put(3, "Java"); coursesMap.put(4, "Spring Framework"); coursesMap.put(5, "Hibernate ORM framework"); // 5. 使用 Stream API 遍历 HashMap  coursesMap.entrySet().stream().forEach((entry) - > { 
           System.out.println(entry.getKey()); System.out.println(entry.getValue()); }); } } 

Output:

1 C 2 C++ 3 Java 4 Spring Framework 5 Hibernate ORM framework 

?最后

  • 更多参考精彩博文请看这里:《陈永佳的博客》
  • 喜欢博主的小伙伴可以加个关注、点个赞哦,持续更新嘿嘿!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(0)
上一篇 2026年3月18日 下午11:59
下一篇 2026年3月18日 下午11:59


相关推荐

  • 数据库系统的特点_关系数据模型只能表示

    数据库系统的特点_关系数据模型只能表示数据结构化:数据库系统实现整体数据的结构化,是数据库的主要特征之一,也是数据库系统与文件系统的本质区别。“整体”结构化是指在数据库中的数据不再仅仅针对某一应用,而是面向全组织,不仅数据内部结构化,

    2022年8月2日
    9
  • Matlab中meshgrid的用法简介

    Matlab中meshgrid的用法简介meshgrid:网格1、主要使用的函数为[X,Y]=meshgrid(xgv,ygv);meshgrid函数生成的X,Y是大小相等的矩阵,xgv,ygv是两个网格矢量,xgv,ygv都是行向量。X:通过将xgv复制length(ygv)行(严格意义上是length(ygv)-1行)得到Y:首先对ygv进行转置得到ygv’,将ygv’复制(length(xgv)-1)次得到。…

    2022年6月12日
    90
  • 2022最新短视频API解析接口源码

    2022最新短视频API解析接口源码2022最新短视频API解析接口分发管理源码,全新UI,全新系统源码支持去水印接口分发功能,支持注册分发个人独立去水印接口功能,带有后台管理系统,支持注册账号在线充值和购买包邮套餐,源码对接了支付宝当面付,官方支付放心收款,套餐可随意设置包点数或包月等源码下载稍后上传更新下载地址…

    2026年3月12日
    6
  • mbus总线电路_LLC电路

    mbus总线电路_LLC电路发送电路:   如上图示,图一为带扩流电路的MBUS发送电路,图二为去掉扩流电路的MBUS发送电路事实证明,当为图一电路时在大负载情况下数据发送接收,都不正确,特别是接收数据错误。当有扩流电路时由于扩流电路起作用,电阻R208即使在MBUS大负载电流的情况下也不热当去掉扩流电路在MBUS大负载电流的情况下,电阻R208很

    2022年10月15日
    7
  • python中全局变量的定义及调用_python中定义全局变量

    python中全局变量的定义及调用_python中定义全局变量python 中怎么定义全局变量 python 中在哪些情况下必须使用 global 来声明全局变量 pythonclass 里面的全局变量问题 python 中的本地变量 localvariabl 和全局变量 gl 如题 python 中直接定义的变量就是本地变量 使用 global 定义的变量就是全局变量 比如 a 1b 1deffoo1 globalb 申明使用全局 ba 2 a 是

    2026年3月18日
    2
  • 实现div里的img图片水平垂直居中

    实现div里的img图片水平垂直居中body结构<body><div><imgsrc="1.jpg"alt="haha"></div></body>方法一:将display设置成table-cell,然后水平居中设置text-align为center,垂直居中设置vertical-align为middle。<styletype="text/css">*{

    2022年5月5日
    63

发表回复

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

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