后端技术:盘点HashMap 的7种遍历方式
HashMap 遍历
大体上可以分为4类:
1,迭代器
2,ForEach 遍历
3,lambda 表达式遍历
4,StreamsApi 遍历
但是每种类型下有不同的实现方式,所以又可以分为7种:
案例demo
1,使用迭代器 EntrySet 的方式遍历
@Test//1,使用迭代器 EntrySet 的方式遍历public void demo1(){//创建Map 对象Map<Integer, String> map = new HashMap<>();//添加数据map.put(1,"娇娇");map.put(2,"娇娇1");map.put(3,"娇娇2");map.put(4,"娇娇3");map.put(5,"娇娇4");map.put(5,"娇娇5");//遍历Iterator<Map.Entry<Integer, String>> iterator = map.entrySet().iterator();while (iterator.hasNext()){Map.Entry<Integer, String> next = iterator.next();System.out.println(next.getKey());System.out.println(next.getValue());}}
结果
2,使用迭代器的KeySet
@Test
// 2,使用迭代器的KeySetpublic void demo1(){//创建Map 对象Map<Integer, String> map = new HashMap<>();//添加数据map.put(1,"娇娇");map.put(2,"娇娇1");map.put(3,"娇娇2");map.put(4,"娇娇3");map.put(5,"娇娇4");map.put(5,"娇娇5");//遍历Iterator<Integer> iterator = map.keySet().iterator();while (iterator.hasNext()){Integer key = iterator.next();System.out.print(key);System.out.print(map.get(key));}}
结果
3,使用 For Each EntrySet 的方式进行遍历;
@Test
//3,使用 For Each EntrySet 的方式进行遍历;public void demo1(){//创建Map 对象Map<Integer, String> map = new HashMap<>();//添加数据map.put(1,"娇娇");map.put(2,"娇娇1");map.put(3,"娇娇2");map.put(4,"娇娇3");map.put(5,"娇娇4");map.put(5,"娇娇5");//遍历for (Map.Entry<Integer,String> entry: map.entrySet()) {System.out.println("entry.getKey() = " + entry.getKey());System.out.println("entry.getValue() = " + entry.getValue());}}
结果
4,使用 For Each KeySet 的方式进行遍历;
@Test
//4,使用 For Each KeySet 的方式进行遍历;public void demo1(){//创建Map 对象Map<Integer, String> map = new HashMap<>();//添加数据map.put(1,"娇娇");map.put(2,"娇娇1");map.put(3,"娇娇2");map.put(4,"娇娇3");map.put(5,"娇娇4");map.put(5,"娇娇5");//遍历for (Integer key: map.keySet()) {System.out.println(key);System.out.println(map.get(key));}}
结果
5,使用 Lambda 表达式的方式进行遍历;
@Test
//5,使用 Lambda 表达式的方式进行遍历;public void demo1() {//创建Map 对象Map<Integer, String> map = new HashMap<>();//添加数据map.put(1, "娇娇");map.put(2, "娇娇1");map.put(3, "娇娇2");map.put(4, "娇娇3");map.put(5, "娇娇4");map.put(5, "娇娇5");//遍历map.forEach((key,value) -> {System.out.print(key);System.out.print(value);});}
结果
6,使用 Streams API 单线程的方式进行遍历;
@Test
//6,使用 Streams API 单线程的方式进行遍历;public void demo1() {//创建Map 对象Map<Integer, String> map = new HashMap<>();//添加数据map.put(1, "娇娇");map.put(2, "娇娇1");map.put(3, "娇娇2");map.put(4, "娇娇3");map.put(5, "娇娇4");map.put(5, "娇娇5");//遍历map.entrySet().stream().forEach((integerStringEntry -> {System.out.println(integerStringEntry.getKey());System.out.println(integerStringEntry.getValue());}));}
结果
7,使用 Streams API 多线程的方式进行遍历。
@Test
//6,使用 Streams API 单线程的方式进行遍历;public void demo1() {//创建Map 对象Map<Integer, String> map = new HashMap<>();//添加数据map.put(1, "娇娇");map.put(2, "娇娇1");map.put(3, "娇娇2");map.put(4, "娇娇3");map.put(5, "娇娇4");map.put(5, "娇娇5");//遍历map.entrySet().parallelStream().forEach((integerStringEntry -> {System.out.println(integerStringEntry.getKey());System.out.println(integerStringEntry.getValue());}));}
结果
IT技术分享社区
个人博客网站:https://programmerblog.xyz
文章推荐程序员效率:画流程图常用的工具程序员效率:整理常用的在线笔记软件远程办公:常用的远程协助软件,你都知道吗?51单片机程序下载、ISP及串口基础知识硬件:断路器、接触器、继电器基础知识
后端技术:盘点HashMap 的7种遍历方式相关推荐
- HashMap 的 7 种遍历方式与性能分析!「修正篇」
这是我的第 57 篇原创文章 首先,给大家说声抱歉~ 事情经过是这样子的,五一节前我发布了一篇文章<HashMap 的 7 种遍历方式与性能分析!>,但是好心的网友却发现了一个问题,他说 ...
- map迭代器遍历_一口气写了 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 的遍历方法讲起,然后再从性能. ...
- 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种: 案 ...
最新文章
- IT职场常见疾病之“脂肪肝”
- 关于SQLserver 的windows验证
- [译] Go 并发编程基础
- c++中stack用法( 算法竞赛入门)
- 发明者本地回测平台python版[博]
- python dataframe 重命名列_Python-重命名pandas列
- 在Windows Server 2008 R2(64位)上安装SharePoint 2007出现的一个错误的解决方法
- 编写一个java程序_鼠标在java窗口上的坐标_请问如何在Java中获取窗口外部的鼠标单击坐标...
- android点击改变字体颜色,Android Textview 动态 部分文字点击 改变颜色
- 曲奇云盘资源搜索引擎_曲奇云盘下载-曲奇云盘官网版v3.2.4-sosyes
- 支付宝小程序 - 基于芝麻信用分免押金操作流程
- 微信公众号里面服务器配置关闭,微信公众号服务器配置无法修改
- java pfx加密_.pfx证书 .cer证书MD5withRSA加密
- 基于EasyX图形库的天天爱消除
- hoolilaw解读:在美国一不小心就犯法 一言不合就法庭见
- java好学么_java是什么好学吗
- js中无区别分割中英文逗号的字符串成为数组
- 2022江苏民丰农村商业银行社会招聘测试题及答案
- ucharts折线图出现断点时画小圆圈(当线的width很大时,小圆圈会很大)
- ps cs6导出html,Photoshop cs6导出和载入笔刷方法介绍
热门文章
- Ajax乱码解决方案
- 用DataTable.Merge()解决了一个排序问题
- windows下配置opencv
- opencv 文件模块 解析
- C++总结笔记(五)——构造函数和析构函数
- oracle怎么通过sid确定表名,如何获取Oracle的SID列表
- python win+r时不成功_Win与R(不使用Anaconda的情况下)
- ES6 (总结篇二)
- PHP第三天!!黑人无表情 面向对象的特点等等!!
- UVA - 11732 strcmp() Anyone?左兄弟右儿子trie