HashMap遍历的四种常用方式「建议收藏」

HashMap遍历的四种常用方式「建议收藏」古人云:温故而知新。最近闲来无事就去翻阅了一下之前的一些基础java知识点。本想着随便看看,然而就发现有了意外收获。比如本文所讲HashMap遍历的四种常用方式。大伙们一起学习一起进步,记得点赞关注以示鼓励哈!!!准备工作首选我们先准备一个HashMap。publicclassTest1{publicstaticvoidmain(String[]args){Map<String,String>map=newHashMap<St

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

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

古人云:温故而知新。
最近闲来无事就去翻阅了一下之前的一些基础java知识点。本想着随便看看,然而就发现有了意外收获。比如本文所讲HashMap遍历的四种常用方式。
大伙们一起学习一起进步,记得点赞关注以示鼓励哈!!!

准备工作

首选我们先准备一个HashMap。

public class Test1 { 
   
    public static void main(String[] args) { 
   
        Map<String, String> map = new HashMap<String, String>();
        map.put("a", "value1");
        map.put("b", "value2");
        map.put("c", "value3");
    }
}

第一种:通过Map.keySet()遍历key和value

这个方式是我目前工作和学习中最常使用的。主要就是遍历HashMap的key然后根据key去获取value.

public class Test1 { 
   
    public static void main(String[] args) { 
   
        Map<String, String> map = new HashMap<String, String>();
        map.put("a", "value1");
        map.put("b", "value2");
        map.put("c", "value3");
        for(String s : map.keySet()){ 
   
            System.out.println("key是"+s+"____value是"+map.get(s));
        }
    }
}

结果:

key =a and value= value1
key =b and value= value2
key =c and value= value3

第二种:通过Map.values()遍历所有的value,但不能遍历key

这主要就是直接遍历HashMap的value.

public class Test1 { 
   
    public static void main(String[] args) { 
   
        Map<String, String> map = new HashMap<String, String>();
        map.put("a", "value1");
        map.put("b", "value2");
        map.put("c", "value3");
        for(String s : map.values()){ 
   
            System.out.println("value是"+s);
        }
    }
}

结果:

value是value1
value是value2
value是value3

第三种:通过Map.entrySet()遍历key和value

这个方式是我这次的新收获。entry简单理解就是一个键值对。遍历每个键值对,就能获取当前entry的key和value。

public class Test1 { 
   
    public static void main(String[] args) { 
   
        Map<String, String> map = new HashMap<String, String>();
        map.put("a", "value1");
        map.put("b", "value2");
        map.put("c", "value3");
        for (Map.Entry<String, String> entry : map.entrySet()) { 
   
       System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
      }
    }
}

结果:

key =a and value= value1
key =b and value= value2
key =c and value= value3

第四种:通过Map.entrySet使用iterator遍历key和value

这个就是利用entry的迭代去遍历。跟第三种差不多。

public class Test1 { 
   
    public static void main(String[] args) { 
   
        Map<String, String> map = new HashMap<String, String>();
        map.put("a", "value1");
        map.put("b", "value2");
        map.put("c", "value3");
        Iterator<Map.Entry<String, String>> it = map.entrySet().iterator();
      	while (it.hasNext()) { 
   
        	Map.Entry<String, String> entry = it.next();
        	System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
      }
    }
}

结果:

key =a and value= value1
key =b and value= value2
key =c and value= value3

总结:

文章主要还是自己温故和记忆使用,兄弟们为了加强记忆可以收藏关注一波。当然自己找个本子或者写篇博客发表自己的意见,或许印象更加深刻!加油!!!

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

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

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


相关推荐

  • “龙虾起义”:Openclaw 与 Moltbook 开启的智能体新纪元

    “龙虾起义”:Openclaw 与 Moltbook 开启的智能体新纪元

    2026年3月13日
    2
  • python 求平面两点距离_Python求平面内点到直线距离的实现

    python 求平面两点距离_Python求平面内点到直线距离的实现近期遇到个问题 需要计算平面内点到直线的距离 发现数学知识都还给老师了 度娘后找到计算方法 特此记录 点到直线的计算公式 通过公式推导 得到信息 A 直线斜率 B 固定值 1C 直线截距 b 转换为 Python 代码实现为 defget point line distance self point line point x point 0 point y point 1 line s x

    2026年2月7日
    3
  • 回声状态网络ESN(含python、MATLAB代码数据)

    回声状态网络ESN(含python、MATLAB代码数据)时间序列预测 把获得的数据按时间顺序排序 分析其变化方向和程度 用来预测未来若干时期可能达到的水平 非线性自回归时间序列 特性是连续的观测数据比较长时间间隔的观测数据更具有相关性 e g Mackey Glass MG 时间序列 其表达式如下 回声状态网络 ESN EchoStateNet 可用于时间序列预测 由输入层 储备池 输出层构成 用一个储备池模式

    2026年3月26日
    2
  • FireBird基本操作

    FireBird基本操作这里写自定义目录标题欢迎使用 Markdown 编辑器新的改变功能快捷键合理的创建标题 有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中 居左 居右 SmartyPants 创建一个自定义列表如何创建一个注脚注释也是必不可少的 KaTeX 数学公式新的甘特图功能 丰富你的文章 UML 图表 FLowchart 流程图导出与导入导出导入欢迎使用 Markdown 编辑器你好 这是你第一次使用 Markdown 编辑器所展示的欢迎页 如果你想学习如何使用 Mar

    2026年3月20日
    2
  • fgc java,频繁FGC的真凶原来是它

    fgc java,频繁FGC的真凶原来是它频繁FGC的真凶原来是它上周排查了一个线上问题,主要现象是CPU占用过高,jvmold区占用过高,同时频繁fgc,我简单排查了下就草草收场了,但是过后我对这个问题又进行了复查,发现问题没有那么简单,下面跟着我一起分析一下到底是怎么回事?复查过程复查原因事后再看dump文件注意到最大的对象是一个ArrayList,里面几乎都是ElasticSearchStatusException对象可是发生…

    2022年6月19日
    82
  • 国内镜像源汇总

    国内镜像源汇总1 国内镜像源汇总清华大学 https pypi tuna tsinghua edu cn simple 北京理工大学 http mirror bit edu cn web 中国科技大学 https pypi mirrors ustc edu cn simple 中国科学院 http www opencas org mirrors 华中理工大学 http pypi hustunique com 山东理工大学 http pypi sdutlinux org 阿里云 htt

    2026年2月22日
    3

发表回复

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

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