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种遍历方式相关推荐

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

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

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

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

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

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

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

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

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

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

  6. HashMap的三种遍历方式

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

  7. java集合 HashMap的三种遍历方式

    前言: HashMap的集合中的比重是无可厚非的,由自身的数组+链表/红黑树构成的(JDK 1.8),这样使得HashMap优点表现出来: 数组查询效率快: 链表的插入和删除效率也加快 但是HashM ...

  8. HashMap的7种遍历方式

    HashMap 遍历 大体上可以分为4类: 1,迭代器 2,ForEach 遍历 3,lambda 表达式遍历 4,StreamsApi 遍历 但是每种类型下有不同的实现方式,所以又可以分为7种: 案 ...

  9. HashMap 的7种遍历方式

    HashMap 遍历 大体上可以分为4类: 1,迭代器 2,ForEach 遍历 3,lambda 表达式遍历 4,StreamsApi 遍历 但是每种类型下有不同的实现方式,所以又可以分为7种: 案 ...

最新文章

  1. IT职场常见疾病之“脂肪肝”
  2. 关于SQLserver 的windows验证
  3. [译] Go 并发编程基础
  4. c++中stack用法( 算法竞赛入门)
  5. 发明者本地回测平台python版[博]
  6. python dataframe 重命名列_Python-重命名pandas列
  7. 在Windows Server 2008 R2(64位)上安装SharePoint 2007出现的一个错误的解决方法
  8. 编写一个java程序_鼠标在java窗口上的坐标_请问如何在Java中获取窗口外部的鼠标单击坐标...
  9. android点击改变字体颜色,Android Textview 动态 部分文字点击 改变颜色
  10. 曲奇云盘资源搜索引擎_曲奇云盘下载-曲奇云盘官网版v3.2.4-sosyes
  11. 支付宝小程序 - 基于芝麻信用分免押金操作流程
  12. 微信公众号里面服务器配置关闭,微信公众号服务器配置无法修改
  13. java pfx加密_.pfx证书 .cer证书MD5withRSA加密
  14. 基于EasyX图形库的天天爱消除
  15. hoolilaw解读:在美国一不小心就犯法 一言不合就法庭见
  16. java好学么_java是什么好学吗
  17. js中无区别分割中英文逗号的字符串成为数组
  18. 2022江苏民丰农村商业银行社会招聘测试题及答案
  19. ucharts折线图出现断点时画小圆圈(当线的width很大时,小圆圈会很大)
  20. ps cs6导出html,Photoshop cs6导出和载入笔刷方法介绍

热门文章

  1. Ajax乱码解决方案
  2. 用DataTable.Merge()解决了一个排序问题
  3. windows下配置opencv
  4. opencv 文件模块 解析
  5. C++总结笔记(五)——构造函数和析构函数
  6. oracle怎么通过sid确定表名,如何获取Oracle的SID列表
  7. python win+r时不成功_Win与R(不使用Anaconda的情况下)
  8. ES6 (总结篇二)
  9. PHP第三天!!黑人无表情 面向对象的特点等等!!
  10. UVA - 11732 strcmp() Anyone?左兄弟右儿子trie