介绍

在本文中,我们将通过示例讨论在 Java 上遍历 HashMap 的五种方法。

1、使用 Iterator 遍历 HashMap EntrySet

2、使用 Iterator 遍历 HashMap KeySet

3、使用 For-each 循环迭代 HashMap

  • 在for循环中遍历key或者values
  • 通过键找值遍历

4、使用 Lambda 表达式遍历 HashMap

5、使用 Stream API 遍历 HashMap

1. 使用 Iterator 遍历 HashMap EntrySet

package com.java.tutorials.iterations;  import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;  /**  * 在 Java 中遍历 HashMap 的5种最佳方法  * @author Ramesh Fadatare  *  */
public class IterateHashMapExample {  public static void main(String[] args) {  // 1. 使用 Iterator 遍历 HashMap EntrySet  Map < Integer, String > coursesMap = new HashMap < Integer, String > ();  coursesMap.put(1, "C");  coursesMap.put(2, "C++");  Iterator < Entry < Integer, String >> iterator = coursesMap.entrySet().iterator();  while (iterator.hasNext()) {  Entry < Integer, String > entry = iterator.next();  System.out.println(entry.getKey());  System.out.println(entry.getValue());  }  }
}

2. 使用 Iterator 遍历 HashMap KeySet

package com.java.tutorials.iterations;  import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;  /**  * 在 Java 中遍历 HashMap 的5种最佳方法  * @author Ramesh Fadatare  *  */
public class IterateHashMapExample {  public static void main(String[] args) {  Map < Integer, String > coursesMap = new HashMap < Integer, String > ();  coursesMap.put(1, "C");  coursesMap.put(2, "C++");   // 2. 使用 Iterator 遍历 HashMap KeySet  Iterator < Integer > iterator = coursesMap.keySet().iterator();  while (iterator.hasNext()) {  Integer key = iterator.next();  System.out.println(key);  System.out.println(coursesMap.get(key));  }  }
}

3、使用 For-each 循环遍历 HashMap

package com.java.tutorials.iterations;  import java.util.HashMap;
import java.util.Map;  /**  * 在 Java 中遍历 HashMap 的5种最佳方法  * @author Ramesh Fadatare  *  */
public class IterateHashMapExample {  public static void main(String[] args) {  Map < Integer, String > coursesMap = new HashMap < Integer, String > ();  coursesMap.put(1, "C");  coursesMap.put(2, "C++");  //最常见也是大多数情况下用的最多的,一般在键值对都需要使用// 3. 使用 For-each 循环遍历 HashMap  for (Map.Entry < Integer, String > entry: coursesMap.entrySet()) {  System.out.println(entry.getKey());  System.out.println(entry.getValue());  }  }
}
  • 在for循环中遍历key或者values,一般适用于只需要map中的key或者value时使用,在性能上比使用entrySet较好;
Map <String,String>map = new HashMap<String,String>();map.put(1, "C");  map.put(2, "C++");  //keyfor(String key : map.keySet()){System.out.println(key);}//valuefor(String value : map.values()){System.out.println(value);}
  • 通过键找值遍历,这种方式的效率比较低,因为本身从键取值是耗时的操作;
 for(String key : map.keySet()){String value = map.get(key);System.out.println(key+":"+value);}

4、使用 Lambda 表达式遍历 HashMap

package com.java.tutorials.iterations;  import java.util.HashMap;
import java.util.Map;  /**  * 在 Java 中遍历 HashMap 的5种最佳方法  * @author Ramesh Fadatare  *  */
public class IterateHashMapExample {  public static void main(String[] args) {  Map < Integer, String > coursesMap = new HashMap < Integer, String > ();  coursesMap.put(1, "C");  coursesMap.put(2, "C++");   // 4. 使用 Lambda 表达式遍历 HashMap  coursesMap.forEach((key, value) -> {  System.out.println(key);  System.out.println(value);  });  }
}

5、使用 Stream API 遍历 HashMap

package com.java.tutorials.iterations;  import java.util.HashMap;
import java.util.Map;  /**  * 在 Java 中遍历 HashMap 的5种最佳方法  * @author Ramesh Fadatare  *  */
public class IterateHashMapExample {  public static void main(String[] args) {  Map < Integer, String > coursesMap = new HashMap < Integer, String > ();  coursesMap.put(1, "C");  coursesMap.put(2, "C++");    // 5. 使用 Stream API 遍历 HashMap  coursesMap.entrySet().stream().forEach((entry) - > {  System.out.println(entry.getKey());  System.out.println(entry.getValue());  });  }
}

参考资料:

https://mp.weixin.qq.com/s/p1aQ94fSrznqHqUFaPU6hA

https://www.cnblogs.com/damoblog/p/9124937.html

遍历 HashMap 的 5 种方式总结相关推荐

  1. Java中遍历HashMap的5种方式

    From: https://blog.csdn.net/w605283073/article/details/80708943 本教程将为你展示Java中HashMap的几种典型遍历方式. 如果你使用 ...

  2. 遍历HashMap的几种方式总结

    1.使用Iterator遍历HashMap HashMap<String, String> map = new HashMap<>(); // 添加元素 map.put(&qu ...

  3. 遍历HashMap的三种方式(Iterator,for,entry的迭代器)

    遍历HashMap 如何遍历HashMap? Key的迭代器 Key的for(这里的for是for的另一种用法,普通for无法得出结果,因为set是无序的) 对整个entry的迭代器,当然也有for的 ...

  4. 高效遍历HashMap的5种方式

    一.使用 Iterator 遍历 HashMap EntrySet public static void iteratorEntrySetMap(Map<Integer, String> ...

  5. 遍历HashMap的5种方式

    使用 Iterator 遍历 HashMap EntrySet 使用 Iterator 遍历 HashMap KeySet 使用For-each 循环迭代 HashMap 使用 Lambda 表达式遍 ...

  6. java foreach hashmap_在 Java 中遍历 HashMap 的5种最佳方式

    在本文中,我们将通过示例讨论在 Java 上遍历  HashMap  的五种最佳方式. 使用  Iterator  遍历 HashMap EntrySet 使用  Iterator  遍历 HashM ...

  7. 遍历 HashMap 的 5 种最佳方式,我不信你全知道!

    在本文中,我们将通过示例讨论在 Java 上遍历 HashMap 的五种最佳方法. 使用 Iterator 遍历 HashMap EntrySet 使用 Iterator 遍历 HashMap Key ...

  8. 遍历 HashMap 的 5 种最佳方式

    1. 使用 Iterator 遍历 HashMap EntrySet 2. 使用 Iterator 遍历 HashMap KeySet 3. 使用 For-each 循环遍历 HashMap 4. 使 ...

  9. 如何遍历 HashMap,遍历HashMap 的 5 种最佳方式

    在本文中,我们将通过示例讨论在 Java 上遍历 HashMap 的五种最佳方法. 使用 Iterator 遍历 HashMap EntrySet 使用 Iterator 遍历 HashMap Key ...

最新文章

  1. 一篇文章搞懂fof好友推荐案例
  2. 编程中python怎么读-对Python新手编程过程中如何规避一些常见问题的建议
  3. BOOL 值在 debug 和 release 模式下初始化不一样!!!
  4. C++11-long long
  5. python入门实践19章_Python 编程从入门到实践 第19章 注销一节问题
  6. POJ 1287 Networking
  7. 过剩通勤应用——线性规划问题解决开源工具(下篇)
  8. 电流、电压、功率的计算方式
  9. 全年营业额怎么计算_年度利润总额如何计算
  10. html中加分割线,多种HTML分割线
  11. MDK5.30下载来了,含镜像下载地址,ARM同时带来Cortex-M55调试展示(2020-05-05)
  12. js中trim函数_30天中的30个Excel函数:03 – TRIM
  13. openpyxl的基本使用
  14. 兄弟,MDN可能撑不住了
  15. python 安装 ffmpeg包--简便方法
  16. 数学思想 之 归纳法
  17. joomla安装遇到的问题
  18. C# 样品管理模块和订单模块设计
  19. 电子器件系列32:逻辑与门芯片74LS11
  20. 利用神经网络对常见水果进行分类

热门文章

  1. python抖音涨粉代码_抖音代码舞Python3实现
  2. 2023佛山多少积分可以入户
  3. 简单说明URI、URL和URN
  4. 百度空间的popup效果分析
  5. Photoshop 2020 新建闪烁以及创建按钮点击无反应解决方法
  6. EasyExcel快速入门(详解)
  7. 发工资了!一次性送 10 个静音鼠标,速来!
  8. rsync与 Inotify概述
  9. 发布 'xx' 的并发快照不可用,因为该快照尚未完全生成,或者日志读取器代理未运行,无法激活它。如果并发快照的生成过程中断,则必须重新启动用于该发布的快照代理,直到生成完整的快照。
  10. 解决Vue打包文件放在服务器后,浏览器存在缓存问题