From: https://blog.csdn.net/w605283073/article/details/80708943

本教程将为你展示Java中HashMap的几种典型遍历方式。

如果你使用Java8,由于该版本JDK支持lambda表达式,可以采用第5种方式来遍历。

如果你想使用泛型,可以参考方法3。如果你使用旧版JDK不支持泛型可以参考方法4。

1、 通过ForEach循环进行遍历

  1. mport java.io.IOException;

  2. import java.util.HashMap;

  3. import java.util.Map;

  4. public class Test {

  5. public static void main(String[] args) throws IOException {

  6. Map<Integer, Integer> map = new HashMap<Integer, Integer>();

  7. map.put(1, 10);

  8. map.put(2, 20);

  9. // Iterating entries using a For Each loop

  10. for (Map.Entry<Integer, Integer> entry : map.entrySet()) {

  11. System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());

  12. }

  13. }

  14. }

2、 ForEach迭代键值对方式

如果你只想使用键或者值,推荐使用如下方式

  1. import java.io.IOException;

  2. import java.util.HashMap;

  3. import java.util.Map;

  4. public class Test {

  5. public static void main(String[] args) throws IOException {

  6. Map<Integer, Integer> map = new HashMap<Integer, Integer>();

  7. map.put(1, 10);

  8. map.put(2, 20);

  9. // 迭代键

  10. for (Integer key : map.keySet()) {

  11. System.out.println("Key = " + key);

  12. }

  13. // 迭代值

  14. for (Integer value : map.values()) {

  15. System.out.println("Value = " + value);

  16. }

  17. }

  18. }

3、使用带泛型的迭代器进行遍历

  1. import java.io.IOException;

  2. import java.util.HashMap;

  3. import java.util.Iterator;

  4. import java.util.Map;

  5. public class Test {

  6. public static void main(String[] args) throws IOException {

  7. Map<Integer, Integer> map = new HashMap<Integer, Integer>();

  8. map.put(1, 10);

  9. map.put(2, 20);

  10. Iterator<Map.Entry<Integer, Integer>> entries = map.entrySet().iterator();

  11. while (entries.hasNext()) {

  12. Map.Entry<Integer, Integer> entry = entries.next();

  13. System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());

  14. }

  15. }

  16. }

4、使用不带泛型的迭代器进行遍历

  1. import java.io.IOException;

  2. import java.util.HashMap;

  3. import java.util.Iterator;

  4. import java.util.Map;

  5. public class Test {

  6. public static void main(String[] args) throws IOException {

  7. Map map = new HashMap();

  8. map.put(1, 10);

  9. map.put(2, 20);

  10. Iterator<Map.Entry> entries = map.entrySet().iterator();

  11. while (entries.hasNext()) {

  12. Map.Entry entry = (Map.Entry) entries.next();

  13. Integer key = (Integer) entry.getKey();

  14. Integer value = (Integer) entry.getValue();

  15. System.out.println("Key = " + key + ", Value = " + value);

  16. }

  17. }

  18. }

5、通过Java8 Lambda表达式遍历

  1. import java.io.IOException;

  2. import java.util.HashMap;

  3. import java.util.Map;

  4. public class Test {

  5. public static void main(String[] args) throws IOException {

  6. Map<Integer, Integer> map = new HashMap<Integer, Integer>();

  7. map.put(1, 10);

  8. map.put(2, 20);

  9. map.forEach((k, v) -> System.out.println("key: " + k + " value:" + v));

  10. }

  11. }

输出

key: 1 value:10
key: 2 value:20

Java中遍历HashMap的5种方式相关推荐

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

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

  2. java中遍历HashMap的四种方法及效率比较

    1. 推荐方法: 使用entrySet 遍历Map 类集合KV,而不是keySet 方式进行遍历. 代码示例如下: // 循环第二种HashMap<Integer, String> map ...

  3. Java中遍历Map的五种方式

    方法一:在for循环中遍历value Map<String, String> map = new HashMap();map.put("开发", "开发&qu ...

  4. java中遍历map的两种方式

    1.先将map对象转成set,然后再转为迭代器 1 Iterator iterator = map.entrySet().iterator(); 2 while(iterator.hasNext()) ...

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

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

  6. java直接调用复制文件,java中文件复制的4种方式,java文件的复制

    java中文件复制的4种方式,java文件的复制 今天一个同事问我文件复制的问题,他一个100M的文件复制的指定目录下竟然成了1G多,吓我一跳,后来看了他的代码发现是自己通过字节流复制的,定义的字节数 ...

  7. JAVA中集合输出的四种方式

    在JAVA中Collection输出有四种方式,分别如下: 一) Iterator输出. 该方式适用于Collection的所有子类. public class Hello {public stati ...

  8. Java中实现接口的三种方式您造吗?

    本文介绍了Java中实现接口的三种方式:常规实现方式.匿名内部类和 Lambda表达式实现方式.希望已经了解的同学可以重新温习一下,不了解的同学则从中受益! Java中接口最常规的实现方式 同学们都会 ...

  9. java中实现多线程的三种方式

    java中实现多线程的三种方式 1.实现多线程的方法: 在java中实现多线程的两途径:继承Thread类,实现Runable接口(Callable) 2.继承Thread类实现多线程: ​ 继承类T ...

最新文章

  1. GCT之数学公式(代数部分)
  2. Maven——第1章 Maven 介绍
  3. pythonloop循环结构_python - tensorflow,tf.while_loop:这两个结构没有相同的嵌套结构 - SO中文参考 - www.soinside.com...
  4. STC12单片机串口U盘测试程序源码
  5. 安装引导黑屏_南京课工场IT培训:引导过程与服务控制(理论笔记篇)
  6. .NET 6新特性试用 | 可空引用类型
  7. linux下分割文件的方法,关于linux系统下分割大文件的方法
  8. Python 集合定义及运算
  9. java泛型与c 泛型,Java泛型代码编译与javac,失败与Eclipse Helios
  10. PCL中的ICP算法(Registration模块之IterativeClosestPoint点云配准)
  11. 618网购盛宴开启,容联AI+CC为企业构建电商“新基建”中台
  12. python 相关系数(全)
  13. 树莓派GPIO远程控制继电器
  14. 前端工资涨不上去?可能是你没掌握构建工具:关于 Webpack、Babel、esbuild、Vite、Rollup、Parcel、SWC......的那些事
  15. 为什么中国的程序员喜欢用英文写代码,甚至注释也用英文?
  16. python 用tushare每日获得每天股票数据
  17. 【已解决】阿里自动滑块 x5sec 解密 钉钉数据采集
  18. 中石油中石化的数字化变革:中国石油数字化油田迈入物联网与云计算时代!
  19. 关于数据库事务隔离级别的介绍
  20. AI工具:Anaconda中Jupyter不能import已安装module问题解决

热门文章

  1. Portal-Basic Java Web 应用开发框架:应用篇(八) —— 整合 Freemarker
  2. 两块网卡实现多台机器共享上网
  3. java 分裂数字_分裂的补充:超越数字,打印物理可视化
  4. leetcode514. 自由之路(dp)
  5. leetcode696. 计数二进制子串
  6. 成千上万的在线课程时,如何保持理智和学习编码
  7. 洛谷 P1101 单词方阵
  8. Luogu P2101 命运石之门的选择(分治+搜索)
  9. 你不知道的JavaScript-0
  10. Linux命令简单操作之lsof