HashMap概述及其三种遍历方式(简单明了)
一、HashMap概述;
- HashMap是一个散列表,它存储的是键值对(key-value)映射;
- HashMap继承AbstractMap,实现了Map,Cloneable,Serializable接口;
- HashMap的实现不是同步的,线程不安全,但是效率高;
- HashMap允许null键和null值,是基于哈希表的Map接口实现;
- 哈希表的作用是用来保证键的唯一性;
- 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);}}
}
控制台打印结果:
HashMap概述及其三种遍历方式(简单明了)相关推荐
- 二叉树(一)概念及其三种遍历方式实现
目录 1. 树型结构 1.1 概念 1.2 概念(重要) 1.3 树的表示形式(了解) 1.4 树的应用 2. 二叉树(重点) 2.1 概念 二叉树的特点: 2.2 二叉树的基本形态 2.3 两种特殊 ...
- HashMap的三种遍历方式
集合在应用以及面试中都占有很重要的位置,今天就说说HashMap的遍历方式,偶然在一次面试中被问到的. 关于具体的实现,可以看源码. import java.util.HashMap; import ...
- HashMap 的 7 种遍历方式与性能分析!(强烈推荐)
来自:Java中文社群 随着 JDK 1.8 Streams API 的发布,使得 HashMap 拥有了更多的遍历的方式,但应该选择那种遍历方式?反而成了一个问题. 本文先从 HashMap 的遍历 ...
- HashMap 的 7 种遍历方式与性能分析!「修正篇」
这是我的第 57 篇原创文章 首先,给大家说声抱歉~ 事情经过是这样子的,五一节前我发布了一篇文章<HashMap 的 7 种遍历方式与性能分析!>,但是好心的网友却发现了一个问题,他说 ...
- HashMap 的 7 种遍历方式与性能分析!
随着 JDK 1.8 Streams API 的发布,使得 HashMap 拥有了更多的遍历的方式,但应该选择那种遍历方式?反而成了一个问题. 本文先从 HashMap 的遍历方法讲起,然后再从性能. ...
- HashMap 的 7 种遍历方式+性能分析!
随着 JDK 1.8 Streams API 的发布,使得 HashMap 拥有了更多的遍历的方式,但应该选择那种遍历方式?反而成了一个问题. 本文先从 HashMap 的遍历方法讲起,然后再从性能. ...
- map迭代器遍历_一口气写了 HashMap 的 7种遍历方式,被同事夸了
随着 JDK 1.8 Streams API 的发布,使得 HashMap 拥有了更多的遍历的方式,但应该选择那种遍历方式?反而成了一个问题. 本文先从 HashMap 的遍历方法讲起,然后再从性能. ...
- Map集合的几种遍历方式
Map<String ,String> map=new HashMap<String,String>(); map.put("1","value1 ...
- 二叉树总结—建树和4种遍历方式(递归非递归)
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/u013497151/article/details/27967155 今天总结一下二叉树.要考离散了 ...
最新文章
- Java 编程技巧之数据结构
- 查看本地文档的一些方法
- genymotion局域网访问_请问一下genymotion如何连接到内网上一个网站
- ubuntu自动保存git账号和密码
- python中range 函数_Python range()函数用法图文详解
- stderr和stdout详细解说
- 刷屏!边学边用,这个学Python方法彻底火了!
- vue打包后图片未显示问题
- mysql gtid 错误_MySQL 5.6 GTID常见错误解决一例
- 如何应对硬盘无法识别通电异响等那些七七八八的物理故障
- 【Web】lighttpd基础
- oracle中累计求和_oracle累计求和
- WSL2中 使用jupyter lab
- 数字图像处理与Python实现-图像几何变换-图像金字塔
- 目前Java开发人员需求大吗 Java就业方向是什么
- 如何买到便宜的云服务器?
- 3 个 Linux 中快速检测端口的小技巧
- 判断IE浏览器的文档模式以及浏览器模式
- linux查看群组所属用户,linux 列出用户所属的所有群组的5种方法
- 群晖命令行获取root权限
热门文章
- JavaEasyPoi将数据导出Excel
- 苹果 macbook pro 各型号 详细参数
- 华为平板服务器响应异常,华为平板触摸屏没反应
- 设计模式——职责链模式(附代码示例)
- python获取word页数_python,_如何在 Linux 上使用 Python 读取 word 文件信息(如页数)?,python - phpStudy...
- 快速排序查询第k大元素C语言,福建十三水下载苹果 -官方网站
- Java的方法前面有一个<T>是什么?
- 环世界 仆人职业_仆人,不是领导者,不是管理者
- xe-utils 任意日期转换、格式化函数,IE8+
- Joint Learning of QA and QG阅读笔记