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(6, "娇娇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.使用迭代器的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");//遍历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());}));
}
结果
————————————————
HashMap的7种遍历方式相关推荐
- HashMap 的 7 种遍历方式与性能分析!「修正篇」
这是我的第 57 篇原创文章 首先,给大家说声抱歉~ 事情经过是这样子的,五一节前我发布了一篇文章<HashMap 的 7 种遍历方式与性能分析!>,但是好心的网友却发现了一个问题,他说 ...
- 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 的遍历方法讲起,然后再从性能. ...
- 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种: 案 ...
最新文章
- html5 FileReader初识
- C#编写的生成缩略图程序
- 可以多次使用同一个hbitmap吗_一个部位可以多次吸脂吗?
- Android webview 加载https网页显示空白
- Leetcode 6.Z 字形变换 (每日一题 20210630)
- Myeclipse中Tomcat的两种部署方式
- Docker 安装 MySQL5.7
- 43 FI配置-财务会计-固定资产-一般评估-定义折旧范围
- Android:数据持久化、Environment、SharedPreferences、内部存储internalStorage
- Linux操作Oracle(6)——Oracle11g OPatch 打补丁全纪录【Oracle11g windowsX64位环境+OPatch11.2.0.3.28】及资源下载
- 如何做好Web接口测试
- linux基本命令示例_Linux mv命令用法和示例
- springmvc中@PathVariable和@RequestParam的区别(百度收集)
- Linux下tomcat的catalina.out文件过大,以及目录更改解决办法
- 贪吃蛇小游戏程序(C语言)
- Python-开根号的几种方式
- win10怎么用计算机二进制,教你如何使用Win10计算器进行进制转换?
- Redis源码分析01——基本数据结构
- 推荐一个统计英语词频的软件:replace pioneer
- 使用C#开发Excel插件
热门文章
- vscode setting json_win10+letex+vscode+texlive+latex workshop+sumatrapdf
- php论坛有哪些_建网站的软件哪个好?建网站的软件有哪些?
- idea2020shezhi代码检查级别_ICT技术:阿里巴巴代码缺陷检测探索与实践
- comment desc显示表结构_营销模块数据库表解析(二)
- python中乘法和除法_python – NumPy的性能:uint8对比浮动和乘法与除法?
- source insight3.5显示中文_Doxygen 中文文档
- vue函数如何调用其他函数?_好程序员Python教程系列之递归函数与匿名函数调用...
- hdfs数据节点分发什么协议_HDFS主要节点解说(一)节点功能
- c6011取消对null指针的引用_C++中的引用
- 录像带转存电脑的方法_误删微信记录别着急,教你几招可靠的恢复微信记录方法...