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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • linux 文件句柄数查看命令_linux查看句柄数

    linux 文件句柄数查看命令_linux查看句柄数//查看系统支持最大文件句柄数cat/proc/sys/fs/file-max//三个值分别表示已分配文件句柄的数目、已分配未使用文件句柄的数目、文件句柄的最大数目cat/proc/sys/fs/file-nr//单个进程文件句柄限制ulimit-n//查看某个进程所占文件句柄//先通过ps获取进程idps|grep进程名//获取进程所占句柄ls-l/proc/进程id/fd…

    2022年10月17日
    0
  • USB接口定义

    USB接口定义USB接口标准USB是电脑的常见接口,有4根线,两根电源线和两个信号线,电源线正负极供电,接烦可能导致USB设备或电脑的南桥芯片烧坏。typeA即我们常见的标准USB大口,主流的可以分为USB2.0速度(几十M/S)和USB3.0速度(上百M/S),事实上目前有少量Type-A为USB3.110Gbps速度,常见于新的台式机主板上。typeB常见于打印机以及带触摸和U…

    2022年5月30日
    64
  • 注册公司事宜(注册公司需要什么条件)

    本公司专主代办广州注册公司,广州公司注册,创业者可选择的注册公司主要有两类:一是在海外注册公司,二是在内地如广州注册公司,。不管在国内注册还是在海外基本的操作模式都是相同的,只不过对于成立的公司在手续、税收等政策上有点不同,但就是这点不同,会对未来的公司造成巨大的影响。一、在海外注册公司与广州注册公司的区别      创办企业者可以选择在海外注册公司,现在流行的注册海外公司的方法是注册离岸公司。

    2022年4月11日
    46
  • PHP7数组的底层实现

    PHP7数组的底层实现

    2022年2月11日
    39
  • vue父组件操作子组件的方法_vue子组件向父组件传值的三种方式

    vue父组件操作子组件的方法_vue子组件向父组件传值的三种方式父组件和子组件我们经常分不清什么是父组件,什么是子组件。现在来简单总结下:我们将某段代码封装成一个组件,而这个组件又在另一个组件中引入,而引入该封装的组件的文件叫做父组件,被引入的组件叫做子组件。具

    2022年8月7日
    3
  • localdatetime 转 date_datetime.date.today()

    localdatetime 转 date_datetime.date.today()Date与Java8的时间之间的相互转换必须通过一个中间类Instant。importjava.time.*;importjava.util.Date;/***日期转换工具类**@authorLenovo*/publicclassDateUtil{publicstaticLocalDateTimedate2LocalDateTime(Datedate){//returndate.toInstant().atZone(Zo

    2022年9月1日
    0

发表回复

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

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