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

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

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

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

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

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

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

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

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

  5. map迭代器遍历_一口气写了 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. html5 FileReader初识
  2. C#编写的生成缩略图程序
  3. 可以多次使用同一个hbitmap吗_一个部位可以多次吸脂吗?
  4. Android webview 加载https网页显示空白
  5. Leetcode 6.Z 字形变换 (每日一题 20210630)
  6. Myeclipse中Tomcat的两种部署方式
  7. Docker 安装 MySQL5.7
  8. 43 FI配置-财务会计-固定资产-一般评估-定义折旧范围
  9. Android:数据持久化、Environment、SharedPreferences、内部存储internalStorage
  10. Linux操作Oracle(6)——Oracle11g OPatch 打补丁全纪录【Oracle11g windowsX64位环境+OPatch11.2.0.3.28】及资源下载
  11. 如何做好Web接口测试
  12. linux基本命令示例_Linux mv命令用法和示例
  13. springmvc中@PathVariable和@RequestParam的区别(百度收集)
  14. Linux下tomcat的catalina.out文件过大,以及目录更改解决办法
  15. 贪吃蛇小游戏程序(C语言)
  16. Python-开根号的几种方式
  17. win10怎么用计算机二进制,教你如何使用Win10计算器进行进制转换?
  18. Redis源码分析01——基本数据结构
  19. 推荐一个统计英语词频的软件:replace pioneer
  20. 使用C#开发Excel插件

热门文章

  1. vscode setting json_win10+letex+vscode+texlive+latex workshop+sumatrapdf
  2. php论坛有哪些_建网站的软件哪个好?建网站的软件有哪些?
  3. idea2020shezhi代码检查级别_ICT技术:阿里巴巴代码缺陷检测探索与实践
  4. comment desc显示表结构_营销模块数据库表解析(二)
  5. python中乘法和除法_python – NumPy的性能:uint8对比浮动和乘法与除法?
  6. source insight3.5显示中文_Doxygen 中文文档
  7. vue函数如何调用其他函数?_好程序员Python教程系列之递归函数与匿名函数调用...
  8. hdfs数据节点分发什么协议_HDFS主要节点解说(一)节点功能
  9. c6011取消对null指针的引用_C++中的引用
  10. 录像带转存电脑的方法_误删微信记录别着急,教你几招可靠的恢复微信记录方法...