【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集合存入学生对象

相关推荐
NiNg_1_2342 分钟前
Python的sklearn中的RandomForestRegressor使用详解
开发语言·python·sklearn
大卫小东(Sheldon)4 分钟前
Java的HTTP接口测试框架Gatling
java
谢家小布柔5 分钟前
java中的继承
java·开发语言
黑色叉腰丶大魔王6 分钟前
《基于 Python 的网页爬虫详细教程》
开发语言·爬虫·python
l1384942745111 分钟前
Java每日一题(2)
java·开发语言·游戏
苹果醋314 分钟前
SpringBoot快速入门
java·运维·spring boot·mysql·nginx
晓纪同学19 分钟前
QT创建一个模板槽和信号刷新UI
开发语言·qt·ui
WANGWUSAN6625 分钟前
Python高频写法总结!
java·linux·开发语言·数据库·经验分享·python·编程
Yvemil725 分钟前
《开启微服务之旅:Spring Boot 从入门到实践》(一)
java
forNoWhat34 分钟前
java小知识点:比较器
java·开发语言