【Java】HashMap集合3种遍历方式

java 复制代码
package com.collection.Demo09;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

/**
 * HashMap集合遍历的三种方式
 */
public class Test06 {
    public static void main(String[] args) {
        HashMap<String, String> hashMap = new HashMap<>();
        hashMap.put("mayikt01", "zhangsan");
        hashMap.put("mayikt02", "lisi");
        hashMap.put("mayikt03", "wangwu");
        /**
         * 方式1
         * 思路分析:
         *  1.先获取到 HashMap 中所有的 键值
         *  2.调用get方法 获取对应的键的value值
         */
        Set<String> keys = hashMap.keySet();
        for (String key : keys) {
//            System.out.println(key);
            String value = hashMap.get(key);
            System.out.println(key + "=" + value);
        }
        //优化
        for (String key : hashMap.keySet()) {
            System.out.println(key + "=" + hashMap.get(key));
        }
        /**
         * 方式2: 遍历HashMap集合 entrySet() map集合中 键值对 封装 通过 entry对象
         */
        Set<Map.Entry<String, String>> entries = hashMap.entrySet();
        for (Map.Entry<String, String> entry : entries) {
            System.out.println(entry);//与下一行等价
//            System.out.println(entry.getKey()+"="+entry.getValue());
        }
        //优化
        for (Map.Entry<String, String> entry : hashMap.entrySet()) {
            System.out.println(entry);
        }
        /**
         * 方式3:使用迭代器,不怎么使用,代码量大
         */
        System.out.println("方式3:使用迭代器");
        Set<Map.Entry<String, String>> entries1 = hashMap.entrySet();
        Iterator<Map.Entry<String, String>> iterator = entries1.iterator();
        while (iterator.hasNext()) {
            Map.Entry<String, String> entry = iterator.next();
            System.out.println(entry);
            System.out.println(entry.getKey() + "=" + entry.getValue());
        }
    }
}

下一篇文章:HashMap集合存入学生对象

相关推荐
方也_arkling3 小时前
【Java-Day08】static / final / 枚举
java·开发语言
橙淮3 小时前
Spring Bean作用域与生命周期全解析
java·spring
风吹夏回4 小时前
Python 全局异常处理:从“满屏 try-except”到优雅兜底
开发语言·python
Chengbei114 小时前
一站式源码安全检测工具、云安全 / APP / 小程序源码敏感信息递归多层目录扫描AK、JWT、手机号、身份证等敏感信息
java·开发语言·安全·web安全·网络安全·系统安全·安全架构
llz_1124 小时前
web-第一次课后作业
java·开发语言·idea
小熊Coding4 小时前
Python爬取当当网二手图书项目实战!
开发语言·爬虫·python·beautifulsoup·requests·二手图书
秋94 小时前
Java项目运行5天左右自动宕机:系统性定位与解决方案
java·开发语言·python
小江的记录本4 小时前
【JVM虚拟机】垃圾回收GC:垃圾收集器:CMS:核心原理、回收流程、优缺点、废弃原因(附《思维导图》+《面试高频考点清单》)
java·jvm·后端·python·spring·面试·maven
xiaoshuaishuai84 小时前
C# 内存管理与资源泄漏
开发语言·c#
DIY源码阁5 小时前
JavaSwing学生成绩管理系统 - MySQL版
java·数据库·mysql·eclipse