一、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);}}
}

控制台打印结果:

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

  1. 二叉树(一)概念及其三种遍历方式实现

    目录 1. 树型结构 1.1 概念 1.2 概念(重要) 1.3 树的表示形式(了解) 1.4 树的应用 2. 二叉树(重点) 2.1 概念 二叉树的特点: 2.2 二叉树的基本形态 2.3 两种特殊 ...

  2. HashMap的三种遍历方式

    集合在应用以及面试中都占有很重要的位置,今天就说说HashMap的遍历方式,偶然在一次面试中被问到的. 关于具体的实现,可以看源码. import java.util.HashMap; import ...

  3. HashMap 的 7 种遍历方式与性能分析!(强烈推荐)

    来自:Java中文社群 随着 JDK 1.8 Streams API 的发布,使得 HashMap 拥有了更多的遍历的方式,但应该选择那种遍历方式?反而成了一个问题. 本文先从 HashMap 的遍历 ...

  4. HashMap 的 7 种遍历方式与性能分析!「修正篇」

    这是我的第 57 篇原创文章 首先,给大家说声抱歉~ 事情经过是这样子的,五一节前我发布了一篇文章<HashMap 的 7 种遍历方式与性能分析!>,但是好心的网友却发现了一个问题,他说 ...

  5. HashMap 的 7 种遍历方式与性能分析!

    随着 JDK 1.8 Streams API 的发布,使得 HashMap 拥有了更多的遍历的方式,但应该选择那种遍历方式?反而成了一个问题. 本文先从 HashMap 的遍历方法讲起,然后再从性能. ...

  6. HashMap 的 7 种遍历方式+性能分析!

    随着 JDK 1.8 Streams API 的发布,使得 HashMap 拥有了更多的遍历的方式,但应该选择那种遍历方式?反而成了一个问题. 本文先从 HashMap 的遍历方法讲起,然后再从性能. ...

  7. map迭代器遍历_一口气写了 HashMap 的 7种遍历方式,被同事夸了

    随着 JDK 1.8 Streams API 的发布,使得 HashMap 拥有了更多的遍历的方式,但应该选择那种遍历方式?反而成了一个问题. 本文先从 HashMap 的遍历方法讲起,然后再从性能. ...

  8. Map集合的几种遍历方式

    Map<String ,String> map=new HashMap<String,String>(); map.put("1","value1 ...

  9. 二叉树总结—建树和4种遍历方式(递归非递归)

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/u013497151/article/details/27967155 今天总结一下二叉树.要考离散了 ...

最新文章

  1. Java 编程技巧之数据结构
  2. 查看本地文档的一些方法
  3. genymotion局域网访问_请问一下genymotion如何连接到内网上一个网站
  4. ubuntu自动保存git账号和密码
  5. python中range 函数_Python range()函数用法图文详解
  6. stderr和stdout详细解说
  7. 刷屏!边学边用,这个学Python方法彻底火了!
  8. vue打包后图片未显示问题
  9. mysql gtid 错误_MySQL 5.6 GTID常见错误解决一例
  10. 如何应对硬盘无法识别通电异响等那些七七八八的物理故障
  11. 【Web】lighttpd基础
  12. oracle中累计求和_oracle累计求和
  13. WSL2中 使用jupyter lab
  14. 数字图像处理与Python实现-图像几何变换-图像金字塔
  15. 目前Java开发人员需求大吗 Java就业方向是什么
  16. 如何买到便宜的云服务器?
  17. 3 个 Linux 中快速检测端口的小技巧
  18. 判断IE浏览器的文档模式以及浏览器模式
  19. linux查看群组所属用户,linux 列出用户所属的所有群组的5种方法
  20. 群晖命令行获取root权限

热门文章

  1. JavaEasyPoi将数据导出Excel
  2. 苹果 macbook pro 各型号 详细参数
  3. 华为平板服务器响应异常,华为平板触摸屏没反应
  4. 设计模式——职责链模式(附代码示例)
  5. python获取word页数_python,_如何在 Linux 上使用 Python 读取 word 文件信息(如页数)?,python - phpStudy...
  6. 快速排序查询第k大元素C语言,福建十三水下载苹果 -官方网站
  7. Java的方法前面有一个<T>是什么?
  8. 环世界 仆人职业_仆人,不是领导者,不是管理者
  9. xe-utils 任意日期转换、格式化函数,IE8+
  10. Joint Learning of QA and QG阅读笔记