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

  1. 使用 Iterator 遍历 HashMap EntrySet

  2. 使用 Iterator 遍历 HashMap KeySet

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

  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++");  coursesMap.put(3, "Java");  coursesMap.put(4, "Spring Framework");  coursesMap.put(5, "Hibernate ORM framework");  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());  }  }
}
Output:
1
C
2
C++
3
Java
4
Spring Framework
5
Hibernate ORM framework

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++");  coursesMap.put(3, "Java");  coursesMap.put(4, "Spring Framework");  coursesMap.put(5, "Hibernate ORM framework");  // 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));  }  }
}

Output:

1
C
2
C++
3
Java
4
Spring Framework
5
Hibernate ORM framework

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++");  coursesMap.put(3, "Java");  coursesMap.put(4, "Spring Framework");  coursesMap.put(5, "Hibernate ORM framework");  // 3. 使用 For-each 循环遍历 HashMap  for (Map.Entry < Integer, String > entry: coursesMap.entrySet()) {  System.out.println(entry.getKey());  System.out.println(entry.getValue());  }  }
}

Output:

1
C
2
C++
3
Java
4
Spring Framework
5
Hibernate ORM framework

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++");  coursesMap.put(3, "Java");  coursesMap.put(4, "Spring Framework");  coursesMap.put(5, "Hibernate ORM framework");  // 4. 使用 Lambda 表达式遍历 HashMap  coursesMap.forEach((key, value) -> {  System.out.println(key);  System.out.println(value);  });  }
}

Output:

1
C
2
C++
3
Java
4
Spring Framework
5
Hibernate ORM framework

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++");  coursesMap.put(3, "Java");  coursesMap.put(4, "Spring Framework");  coursesMap.put(5, "Hibernate ORM framework");  // 5. 使用 Stream API 遍历 HashMap  coursesMap.entrySet().stream().forEach((entry) - > {  System.out.println(entry.getKey());  System.out.println(entry.getValue());  });  }
}

Output:

1
C
2
C++
3
Java
4
Spring Framework
5
Hibernate ORM framework

原文:https://www.javaguides.net/2020/03/5-best-ways-to-iterate-over-hashmap-in-java.html

作者:Ramesh Fadatare

翻译:高行行
https://www.toutiao.com/a6803887957418705420/

遍历 HashMap 的 5 种最佳方式,我不信你全知道!相关推荐

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

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

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

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

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

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

  4. 遍历 HashMap 的 5 种方式总结

    介绍 在本文中,我们将通过示例讨论在 Java 上遍历 HashMap 的五种方法. 1.使用 Iterator 遍历 HashMap EntrySet 2.使用 Iterator 遍历 HashMa ...

  5. 遍历hashMap的5种方法

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

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

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

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

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

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

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

  9. HashMap 遍历hashMap的7种方法和删除数据两种方式

    遍历数据 1.使用Iterator 遍历HashMap EntrySet 2.使用Iterator 遍历HashMap KeySet 3.使用For-each EntrySet 循环迭代 HashMa ...

最新文章

  1. 公开课 | 微信高级研究员解析深度学习在NLP中的发展和应用
  2. mongo go 查询指定字段_Go语言 操作MongoDB数据库批量查询
  3. 【1】 pythonic modern c++:字符串
  4. 分布式缓存之Memcache
  5. 全flash站制作剖析
  6. 心得体悟帖---15、我的灵魂
  7. 大数据驱动线上线下场景融合和零售数字化营销(有福利)
  8. 牛客网_PAT乙级1007_A除以B (20)
  9. c语言指着与数组,C语言指针与数组
  10. 30-80k/月!影创科技算法岗招聘,含实习生
  11. SpringBoot2.x炫酷吊炸天前后端分离的后台管理系统实例
  12. Linux进程管理内核API函数pid_task( )---根据pid获取task_struct
  13. https://blog.csdn.net/Darryl_Tang/article/details/80545688
  14. Three.js的uv坐标贴图理解
  15. 信签纸有虚线怎么写_信签纸写作文格式怎么用
  16. Semantic Proximity Search on Heterogeneous Graph by Proximity Embedding
  17. 0. crash和kdump 死机问题解决-x86_64-基础知识
  18. 国内的虚拟服务器推荐,虚拟空间哪个好(国内比较的几款虚拟主机推荐)
  19. 创建一个xposed模块Demo
  20. c语言窗口贴图,c语言添加图片

热门文章

  1. MySQL — 优化之explain执行计划详解(转)
  2. python爬虫学习:爬虫QQ说说并生成词云图,回忆满满
  3. Java Reflection(九):泛型
  4. 代码重构(二):类重构规则
  5. 使用SVN的hook将更新内容同步到测试环境
  6. [WPF]WPF中材质制作——图片和矢量图之争
  7. IT行业的日常工作方法 学习(转)
  8. 电感器在交流电路中的作用
  9. C++下关于XML开源库的使用
  10. ubuntu19.04更改国内镜像源