HashMap遍历以及遍历顺序[通俗易懂]

HashMap遍历以及遍历顺序[通俗易懂]HashMap遍历以及遍历顺序HashMap是Java语言中一种键值对(key-value)数据结构,但不记录key的插入顺序,如果要按照插入顺序进行遍历,则需要使用LinkedHashMap类型。本文将介绍下HashMap的三种遍历方式,LinkedHashMap遍历方式相同!(在leetcode12.整数转罗马数字题目中使用到HashMap遍历,遂做此记录!)HashMap结构定义如下:Map<Integer,String>map=newHashMap<Inte

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

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

HashMap遍历以及遍历顺序

HashMap是Java语言中一种键值对(key-value)数据结构,但不记录key的插入顺序,如果要按照插入顺序进行遍历,则需要使用LinkedHashMap类型。
本文将介绍下HashMap的三种遍历方式,LinkedHashMap遍历方式相同!

(在leetcode12. 整数转罗马数字题目中使用到HashMap遍历,遂做此记录!)

HashMap结构定义如下:

Map<Integer, String> map = new HashMap<Integer, String>(){ 
   
    // 以匿名函数方式进行初始化
    { 
   
        put("M",1000);
        put("D",500);
        put("C",100);
        put("L",50);
        put("X",10);
        put("V",5);
        put("I",1);
    }
};

因为HashMap结构在存储key值时是无序的,所以遍历结果不会与代码put顺序一致!!!

1、map.entrySet()遍历key-value

for (Map.Entry<String, Integer> entry : map.entrySet()){ 
   
    System.out.println(entry.getKey());
}

// 输出结果为
C
D
V
X
I
L
M

2、map.keySet()仅遍历键

for(String key : map.keySet()){ 
   
    System.out.println(key);
}

// 遍历结果为
C
D
V
X
I
L
M

3、map.values()仅遍历值

for (Integer value : map.values()){ 
   
    System.out.println(value);
}

// 遍历结果为
100
500
5
10
1
50
1000

如果需要按照插入key值的顺序遍历,则需要使用LinkedHashMap结构!!!

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

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

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 海龟作图python等边三角形_python 海龟作图[通俗易懂]

    海龟作图python等边三角形_python 海龟作图[通俗易懂]turtle绘图turtle绘图是python中引入的一个简单绘图工具,利用turtle模块绘图又被称为海龟作图,因为绘图过程可以看作是一个小海龟行走的轨迹。海龟就像是屏幕上的画笔,屏幕就是画布。1.1导入turtle模块使用turtle绘图时,首先要导入turtle模块,有以下两种方式:(说明:在python中调入模块函数无外乎两种方法:import+函数名(numpy,matplotlib…

    2022年6月28日
  • 2020年最佳恶意软件删除工具Top 10「建议收藏」

    2020年最佳恶意软件删除工具Top 10「建议收藏」恶意软件删除工具可以帮助你从个人计算机中删除危险的恶意软件,从而避免受到黑客的攻击并防止以后的攻击隐患。保障你的电脑或笔记本电脑的安全性是非常重要的,因为你永远不知道攻击者何时会对你的设备发起攻击。所以,这意味着你不仅需要杀毒软件,还需要一个恶意软件删除工具。比如,广告软件和间谍软件有很大的不同之处,它们不是病毒。因此,仅查出设备是否已受到恶意软件的影响是远远不够的,而且采用手动删除的方法也是非常不切实际的。故此,恶意软件清除已成为一个普遍的问题。如今,恶意软件感染越来越普遍化,即便你自认为..

    2022年6月24日
  • 关于HeartBleed漏洞的总结「建议收藏」

    关于HeartBleed漏洞的总结「建议收藏」一:前言HeartBleed漏洞又称为心脏出血漏洞,编号(CVE-2014-0160),产生原因:由于未能在memcpy()调用受害用户输入的内容作为长度参数之前正确进行边界检查。攻击者可以追踪OpenSSl所分配的64KB内存,将超出必要范围的字节信息复制到缓存当中,再返回缓存内容,这样一来,受害者的内存内容就会每次泄露64KB.简单来说,这就是OpenSSL缺陷造成的漏洞二:环境…

    2022年7月25日
  • Oracle 触发器 (trigger)[通俗易懂]

    Oracle 触发器 (trigger)[通俗易懂]触发器是许多关系数据库系统都提供的一项技术。在ORACLE系统里,触发器类似过程和函数,都有声明,执行和异常处理过程的PL/SQL块。1触发器类型触发器在数据库里以独立的对象存储,它与存储过程和

    2022年7月4日
  • 软件实施工程师的经验之谈(适合新手,老鸟请指正)[通俗易懂]

    软件实施工程师的经验之谈(适合新手,老鸟请指正)[通俗易懂]干了三年实施,技术没学多少,人倒是变的圆滑多了问题1:实施干嘛的呢?说简单通俗点,开发就是研发生产电视机的,我们实施就是给买电视机的人去进行安装调试,试运行完了签验收单收款和后期的日常维护(当然,如果大公司有自己的售后服务团队就另当别论了)问题2:实施的薪资(我想大部分人都关注这个吧)以一线城市北上广为例,我在北京,第一份实施工作月薪4500,出差补助一天一百,报销路费和住宿费,不报销吃饭…

    2022年6月2日
  • Web前端测试题

    JS题目:在JavaScript中()方法可以对数组元素进行排序。A.add()B.join()C.sort()D.length()答案:http://hovertree.com/ti

    2021年12月22日

发表回复

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

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