HashMap概述及其三种遍历方式(简单明了)

article/2025/10/13 13:52:08

一、HashMap概述;

  1. HashMap是一个散列表,它存储的是键值对(key-value)映射;
  2. HashMap继承AbstractMap,实现了Map,Cloneable,Serializable接口;
  3. HashMap的实现不是同步的,线程不安全,但是效率高;
  4. HashMap允许null键和null值,是基于哈希表的Map接口实现;
  5. 哈希表的作用是用来保证键的唯一性;
  6. HashMap的实例有两个参数影响其性能:初试容量和加载因子,当哈希表中的条目数超出加载因子与当前容量的乘积时,要对哈希表进行rehash操作(即重建内部数据结构),容量扩大约为之前的两倍,加载因子默认值为0.75;

二、HashMap的三种遍历方式;

第一种:遍历HashMap的entrySet键值对集合

1.通过HashMap.entrySet()得到键值对集合;

2.通过迭代器Iterator遍历键值对集合得到key值和value值;

package com.xyfer;import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;public class HashMapTest {public static void main(String[] args) {// 创建一个key和value均为String的Map集合Map<String, String> map = new HashMap<String, String>();map.put("1", "11");map.put("2", "22");map.put("3", "33");// 键和值String key = null;String value = null;// 获取键值对的迭代器Iterator it = map.entrySet().iterator();while (it.hasNext()) {Map.Entry entry = (Map.Entry) it.next();key = (String) entry.getKey();value = (String) entry.getValue();System.out.println("key:" + key + "---" + "value:" + value);}}
}

控制台打印结果:
在这里插入图片描述
第二种:遍历HashMap键的Set集合获取值;

1.通过HashMap.keySet()获得键的Set集合;

2.遍历键的Set集合获取值;

package com.xyfer;import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;public class HashMapTest {public static void main(String[] args) {// 创建一个key和value均为String的Map集合Map<String, String> map = new HashMap<String, String>();map.put("1", "11");map.put("2", "22");map.put("3", "33");// 键和值String key = null;String value = null;// 获取键集合的迭代器Iterator it = map.keySet().iterator();while (it.hasNext()) {key = (String) it.next();value = (String) map.get(key);System.out.println("key:" + key + "---" + "value:" + value);}}}

控制台打印结果:
在这里插入图片描述
第三种:遍历HashMap“值”的集合;

1.通过HashMap.values()得到“值”的集合

2.遍历“值”的集合;

package com.xyfer;import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;public class HashMapTest {public static void main(String[] args) {// 创建一个key和value均为String的Map集合Map<String, String> map = new HashMap<String, String>();map.put("1", "11");map.put("2", "22");map.put("3", "33");// 值String value = null;// 获取值集合的迭代器Iterator it = map.values().iterator();while (it.hasNext()) {value = (String) it.next();System.out.println("value:" + value);}}
}

控制台打印结果:
在这里插入图片描述


http://chatgpt.dhexx.cn/article/4jSXEecX.shtml

相关文章

HashMap 的7种遍历方式

HashMap 遍历 大体上可以分为4类: 1,迭代器 2&#xff0c;ForEach 遍历 3&#xff0c;lambda 表达式遍历 4&#xff0c;StreamsApi 遍历 但是每种类型下有不同的实现方式&#xff0c;所以又可以分为7种&#xff1a; 案例demo 1&#xff0c;使用迭代器 EntrySet 的方式遍历 Test…

Java循环录入会员信息

条件:循环录入3位会员的信息如果会员号合法&#xff0c;显示录入信息&#xff1b;否则显示录入失败

java循环练习题-计算100以内偶数之和

1&#xff1a;for 循环&#xff1a; package cn.work;public class Work1 {public static void main(String[] args) {int n 0;for (int i 0; i <100 ; i) {if (i%20){n n i;}}System.out.println("100以内的偶数和为"n);} }2&#xff1a;while 循环 packag…

java循环中的do……while循环

do……while循环格式&#xff1a; 初始化语句 &#xff1b; do { 循环体语句 &#xff1b; 条件控制语句 &#xff1b; } while&#xff08; 条件判断语句 &#xff09;&#xff1b; 基本格式&#xff1a; do { 循环体语句&#xff1b; } while&#xff08;条件判断语句…

java循环语句实现自然数1~99的遍历求和

1.1~99的全遍历求和 注意: sum变量要写在外面 main方法必须有 public class Leijia {public static void main(String[]args){int sum0;for (int i1;i<99; i){sumsumi;} System.out.println("s"sum);} }2. 1~99只遍历奇数的求和 public class Leijia {publ…

解决由于Idea/Java循环依赖造成的报错

1.环境&#xff1a; Idea&#xff0c;JrebelTomcat环境&#xff0c;Maven项目&#xff0c;分了模块。 2.报错&#xff1a; 今天用热部署的时候&#xff0c;jrebel重新编译代码的时候出了一个错误&#xff1a;Error:java: Annotation processing is not supported for module…

java 循环实体类 获取实体字段和字段对应的value

有的时候实体字段比较多&#xff0c;需要循环获取实体的字段名和字段内容&#xff0c;实现方法通过Field反射获取类的属性。 实现方式如下&#xff1a; 需要注意的是一定要设置setAccessible为ture public class test1 {public static void main(String[] args) throws Ille…

java中循环输入_如何用java循环输入并且当输入0时结束循环?

如何用java循环输入并且当输入0时结束循环? import java.util.Scanner; public class Avg {public static void main(String[] args) {Scanner input = new Scanner(System.in); double num = 1; int i = 0; double avg = 0; double sum = 0; do {System.out.print("请输…

Java 结束循环

开发工具与关键技术&#xff1a;Myeclipse 10,Java 作者&#xff1a;刘俊杰 撰写时间&#xff1a;2019年04月24日 Break控制循环 在任何循环语句的主体部分&#xff0c;均可用break控制循环的流程。break用于强制退出循环&#xff0c;不执行循环中剩余的语句。&#xff08;bre…

Java循环中的break 和 continue

CSDN话题挑战赛第1期 活动详情地址&#xff1a;https://marketing.csdn.net/p/bb5081d88a77db8d6ef45bb7b6ef3d7f 参赛话题&#xff1a;Java学习记录 话题描述&#xff1a;可以记录一下平时学习Java中的一些知识点、心得、例题、常见的问题解决 目录 一. break语句与continue语…

Java循环结构—条件循环

文章目录 一、为什么要用循环&#xff08;一&#xff09; 老实用笨方法&#xff08;二&#xff09;采用循环结构方法1、采用计数循环&#xff08;for循环&#xff09;2.采用条件循环&#xff08;while循环&#xff09; 二、条件循环&#xff08;二&#xff09;前测试循环-while…

java循环中 删除List某个元素

场景&#xff1a;list中 0 至 9 的数字&#xff0c;删除list中的数字7 1.集合生成0 至 9 数字 代码&#xff1a; List<Integer> list new ArrayList<>(); for (int i 0; i < 10 ; i) {list.add(i); } System.out.println(list.toString()); 运行如下&#x…

java 循环标记_Java循环中使用标签

java中的标号是用于的continue和break语句的&#xff0c;请看下面的程序&#xff1a; class xxx { outer: for(;;) { inner: for(;;) { xxxx; xxxxx; continue inner; } //break inner; break outer; } } 这段程序中有两层循环&#xff0c;外面的一层叫outer&#xff0c;里面的…

java中的循环语句

有些程序段在某些条件下重复执行多次&#xff0c;称为循环结构程序。Java提供了3种循环语句实现循环结构&#xff0c;包括while语句、do-while语句、for语句。它们的共同点是根据给定条件来判断是否继续执行指定的程序段&#xff08;循环体&#xff09;。如果满足执行条件&…

java中的循环

java中的循环有四种 循环由四部分组成 1.初始部分&#xff1a;循环判断的变量 2.循环条件&#xff1a;布尔表达式 3.循环操作&#xff1a;循环执行的代码 4.迭代部分&#xff1a;更新循环变量 1.while循环 while的特点&#xff1a;首次判断不满足&#xff0c;则一次都不会执…

安装破解VS2015(破解使用秘钥)

一、下载VS2015专业版 http://download.microsoft.com/download/B/8/9/B898E46E-CBAE-4045-A8E2-2D33DD36F3C4/vs2015.pro_chs.iso 注&#xff1a;光盘映像文件直接右键解压即可 二&#xff0c;使用秘钥破解 安装完vs2015 企业版/专业版后&#xff0c;在菜单帮助—注册产品&am…

VS2015社区版安装教程

虽然现在已经有了VS2017,但是在很多地方还是vs2015更加方便&#xff0c;比如&#xff0c;目前的wdk版本并不能支持VS2017,所以我不得不卸了它&#xff0c;换成Vs2015. 1.下载Vs2015 微软官网一般可以找到资源&#xff0c;我这里给出我的百度云链接链接&#xff1a;https://pan.…

Visual Studio专业版下载安装激活破解教程

Visual Studio 2015专业版安装激活破解教程 一、下载安装镜像 下载地址&#xff1a;http://msdn.itellyou.cn/ 二、安装 运行虚拟光驱&#xff0c;加载镜像文件&#xff0c;运行安装程序 剩下的就是漫长的等待了&#xff0c;安装程序好像需要从微软的服务器上获取文件&#…

VS2017 Visual Assist X破解方法

Visual Assist X是一款非常好的Microsoft Visual Studio插件&#xff0c;支持C/C&#xff0b;&#xff0b;&#xff0c;C&#xff03;&#xff0c;ASP&#xff0c;Visual Basic&#xff0c;Java和HTML等语言&#xff0c;Visual Assist X能自动识别各种关键字、系统函数、成员变…

VisualSvn破解(VS2019)

第一步&#xff1a;准备工具dnSpy &#xff08;下载地址&#xff1a;http://www.pc6.com/softview/SoftView_481260.html&#xff09; 第二步&#xff1a;查找VisualSun安装目录&#xff0c;以下地址为我的安装目录&#xff0c;供参考 说明&#xff1a;我记得以前的VisualSvn…