HashMap遍历的五种方法「建议收藏」

HashMap遍历的五种方法「建议收藏」HashMap遍历的五种方法

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

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

在本文中,我们将通过示例讨论在 Java 上遍历 HashMap 的五种最佳方法。
1.使用 Iterator 遍历 HashMap EntrySet
2.使用 Iterator 遍历 HashMap KeySet
3.使用 For-each 循环迭代 HashMap
4.使用 Lambda 表达式遍历 HashMap
5.使用 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 Ramesh Fadatare  
 *  
 */  
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());  
        }  
    }  
}

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 Ramesh Fadatare  
 *  
 */  
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));  
        }  
    }  
}

3. 使用 For-each 循环遍历 HashMap
package com.java.tutorials.iterations;  
 
import java.util.HashMap;  
import java.util.Map;  
 
/**  
 * 在 Java 中遍历 HashMap 的5种最佳方法  
 * @author Ramesh Fadatare  
 *  
 */  
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());  
        }  
    }  
}

4. 使用 Lambda 表达式遍历 HashMap
package com.java.tutorials.iterations;  
 
import java.util.HashMap;  
import java.util.Map;  
 
/**  
 * 在 Java 中遍历 HashMap 的5种最佳方法  
 * @author Ramesh Fadatare  
 *  
 */  
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);  
        });  
    }  
}

5. 使用 Stream API 遍历 HashMap
package com.java.tutorials.iterations;  
 
import java.util.HashMap;  
import java.util.Map;  
 
/**  
 * 在 Java 中遍历 HashMap 的5种最佳方法  
 * @author Ramesh Fadatare  
 *  
 */  
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());  
        });  
    }  
}

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

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

(0)
上一篇 2025年10月13日 下午12:22
下一篇 2025年10月13日 下午1:01


相关推荐

  • java json序列化日期类型[通俗易懂]

    java json序列化日期类型[通俗易懂]做接口开发时经常需要给前端返回日期数据,比如生日、创建时间、更新时间等。我们一般是建一个bean,将定义所需要的字段,并和数据库的字段相对应。虽然数据库的字段是日期类型的,但bean的字段定义在String就行了,看下面的测试代码:packagecom.bs.test;importjava.text.SimpleDateFormat;importjava.util.Date;importc

    2025年6月9日
    6
  • 现代密码学 实验

    现代密码学 实验学了一门课 叫 现代密码学 做实验要实现 AES 加密文件 RSA 加密 AES 秘钥 然后再反向解密出来

    2026年3月17日
    2
  • 重建二叉树 python_Python实现重建二叉树的三种方法详解

    重建二叉树 python_Python实现重建二叉树的三种方法详解本文实例讲述了Python实现重建二叉树的三种方法。分享给大家供大家参考,具体如下:学习算法中,探寻重建二叉树的方法:用input前序遍历顺序输入字符重建前序遍历顺序字符串递归解析重建前序遍历顺序字符串堆栈解析重建如果懒得去看后面的内容,可以直接点击此处本站下载完整实例代码。思路学习算法中,python算法方面的资料相对较少,二叉树解析重建更少,只能摸着石头过河。通过不同方式遍历二叉树,可以得…

    2022年4月30日
    56
  • QPM访谈问题

    QPM访谈问题QPM Quantitative 量化项目管理一 访谈问题 1 请简要介绍贵司的 QPM 管理的管理方式 依据公司整体商业目标和 CMMI 要求 制定和部署了 量化项目管理过程 和相关的指南 模板 在项目执行中 根据组织的 PPB PPM 和项目组需要 设定特定目标 然后进行数据收集 异常点判断 异常点原因分析 实施改进措施及成效分析 来确保项目的 QPPO 目

    2026年3月17日
    3
  • 国产FPGA市场格局及进展

    国产FPGA市场格局及进展国产 FPGA 市场格局及进展时间 2018 05 2611 25 来源 电子技术应用网摘要 FPGA 作为通信 航天 军工等领域的关键核心器件 是保障国家战略安全的重要支撑基础 近年来 随着大数据 云计算和人工智能的发展 FPGA 的应用领域得到快速扩张 FPGA 作为通信 航天 军工等领域的关键核心器件 是保障国家战略安全的重要支撑基础 近年来 随着大数据 云计算和人工智能的发展 FPGA 的

    2026年3月26日
    2
  • 这次一定弄懂完全图、连通图、连通分量、强连通图、强连通分量、极大连通分量、极小联通分量、生成树、生成森林的区别

    这次一定弄懂完全图、连通图、连通分量、强连通图、强连通分量、极大连通分量、极小联通分量、生成树、生成森林的区别一 各个概念的定义 1 完全图 nbsp 也称简单完全图 假设一个图有 n 个顶点 那么如果任意两个顶点之间都有边的话 该图就称为完全图 2 连通图 一般都是指无向图 nbsp 从顶点 v 到 w 有路径 就称顶点 v 和 m 连通 路径是由顶点和相邻顶点序偶构成的边所形成的序列 其实就是一堆相连的顶点及其边 nbsp 如果图中任意俩顶点都连通 则该图为连通图 3 连通分量 nbsp 与连通图对应 一般书上说的都是特指无向图 nbsp 极大连通子图是无向图的连通分量 暗指极大连通子图也指无向

    2026年3月26日
    3

发表回复

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

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