HashMap的七种遍历方式
HashMap的遍历方式
- 前言
- 一、Iterator遍历
- 1. 迭代器遍历EntrySet
- 2. 迭代器遍历KeySet
- 二、forEach遍历
- 1. forEach遍历EntrySet
- 2. forEach遍历KeySet
- 三、Lambda遍历
- 四、Stream遍历
- 1. 单线程stream()
- 2. 多线程parallelStream()
前言
HashMap的遍历方式如下:
1. 迭代器遍历
2. forEach遍历
3. Lambda
4. Stream API
测试案例准备工作:
private HashMap<String, Integer> hashMap = new HashMap<String, Integer>();@Before
public void init() {hashMap.put("天踦爵", 18);hashMap.put("鷇音子", 19);hashMap.put("三余无梦生", 20);hashMap.put("素还真", 21);hashMap.put("解锋镝", 22);
}
一、Iterator遍历
1. 迭代器遍历EntrySet
@Test
public void test02() {Iterator iterator = hashMap.entrySet().iterator();while (iterator.hasNext()) {Map.Entry<String, Integer> entry = (Map.Entry) iterator.next();System.out.println("key:" + entry.getKey() + ",value:" + entry.getValue());}
}
2. 迭代器遍历KeySet
@Test
public void test04() {Iterator<String> iterator = hashMap.keySet().iterator();while (iterator.hasNext()) {String key = iterator.next();System.out.println("key:" + key + ",value:" + hashMap.get(key));}
}
二、forEach遍历
1. forEach遍历EntrySet
@Test
public void test01() {for (Map.Entry<String, Integer> entry : hashMap.entrySet()) {System.out.println("key:" + entry.getKey() + ",value:" + entry.getValue());}
}
2. forEach遍历KeySet
@Test
public void test03() {for (String key : hashMap.keySet()) {System.out.println("key:" + key + ",value:" + hashMap.get(key));}
}
三、Lambda遍历
@Test
public void test05(){hashMap.forEach((key,value)->{System.out.println("key:" + key + ",value:" + value);});
}
四、Stream遍历
1. 单线程stream()
@Test
public void test06(){hashMap.entrySet().stream().forEach((stringIntegerEntry -> {System.out.println("key:" + stringIntegerEntry.getKey() + ",value:" + stringIntegerEntry.getValue());}));
}
2. 多线程parallelStream()
@Test
public void test07(){hashMap.entrySet().parallelStream().forEach((stringIntegerEntry -> {System.out.println("key:" + stringIntegerEntry.getKey() + ",value:" + stringIntegerEntry.getValue());}));
}
HashMap的七种遍历方式相关推荐
- HashMap 的 7 种遍历方式与性能分析!「修正篇」
这是我的第 57 篇原创文章 首先,给大家说声抱歉~ 事情经过是这样子的,五一节前我发布了一篇文章<HashMap 的 7 种遍历方式与性能分析!>,但是好心的网友却发现了一个问题,他说 ...
- HashMap 的 7 种遍历方式+性能分析!
随着 JDK 1.8 Streams API 的发布,使得 HashMap 拥有了更多的遍历的方式,但应该选择那种遍历方式?反而成了一个问题. 本文先从 HashMap 的遍历方法讲起,然后再从性能. ...
- HashMap 的 7 种遍历方式与性能分析!(强烈推荐)
来自:Java中文社群 随着 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 的遍历方法讲起,然后再从性能. ...
- HashMap的三种遍历方式
集合在应用以及面试中都占有很重要的位置,今天就说说HashMap的遍历方式,偶然在一次面试中被问到的. 关于具体的实现,可以看源码. import java.util.HashMap; import ...
- java集合 HashMap的三种遍历方式
前言: HashMap的集合中的比重是无可厚非的,由自身的数组+链表/红黑树构成的(JDK 1.8),这样使得HashMap优点表现出来: 数组查询效率快: 链表的插入和删除效率也加快 但是HashM ...
- HashMap的7种遍历方式
HashMap 遍历 大体上可以分为4类: 1,迭代器 2,ForEach 遍历 3,lambda 表达式遍历 4,StreamsApi 遍历 但是每种类型下有不同的实现方式,所以又可以分为7种: 案 ...
- 后端技术:盘点HashMap 的7种遍历方式
HashMap 遍历 大体上可以分为4类: 1,迭代器 2,ForEach 遍历 3,lambda 表达式遍历 4,StreamsApi 遍历 但是每种类型下有不同的实现方式,所以又可以分为7种: 案 ...
- HashMap 的7种遍历方式
HashMap 遍历 大体上可以分为4类: 1,迭代器 2,ForEach 遍历 3,lambda 表达式遍历 4,StreamsApi 遍历 但是每种类型下有不同的实现方式,所以又可以分为7种: 案 ...
最新文章
- 堆和栈的主要区别由以下几点:
- 我的博客网站开发6——博文关键字搜索
- 标识为普通SQL语法
- 面向对象方法开发的方法
- 【转载】一天之内上手.Net+WAP项目
- linux--vi的使用
- K8s集群部署(四)------ Flannel网络部署
- Java并发J.U.C 之 AQS
- java 通用组件_写一个通用数据访问组件
- IDEA Junit测试
- python三天速成_python学习第三天
- 解决Chrome插件安装时出现的 “CRX_HEADER_INVALID” (程序包无效) 问题
- 关于windows自带的两种远程访问方式
- 计算机毕业设计、计算机课程设计怎么做?计算机设计1900套来帮你!
- 用echartsjs 实现动态绘制折线、柱状等图形,并实现多图联动效果
- 文本分类(text classification)
- servu ip段访问_西部数码使用指南:利用安全组设置拦截IP(IP段)
- Opencv-python 求原坐标点透视变换后对应坐标点
- python readline读文件,并且将其转化为数字形式时:ValueError: could not convert string to float:
- AXI latency 理解
热门文章
- 小白:测试的逻辑思维
- 计算机主机自动关机如何设置,电脑怎么设置自动关机?电脑自动关机方法教程 电脑维修技术网...
- 项目中涉及到金钱的计算时,数据库字段的使用
- 优酷土豆实时推荐系统架构升级实践
- 大功率mos管怎么测量好坏,如何用万用表判断mos管的好坏?够全面!
- android图片上传大小限制,Android解决图片上传过大问题
- element-ui图片上传组件之限制每次5张上传(或者自定义每次几张上传)
- html5 css3 入门教程
- 跨平台,跨浏览器兼容性问题_跨浏览器兼容性检查的完整指南
- kangle安装php7.0_Kangle Easypanel面板 PHP多版本切换 安装图文教程