Java中遍历HashMap的5种方式
From: https://blog.csdn.net/w605283073/article/details/80708943
本教程将为你展示Java中HashMap的几种典型遍历方式。
如果你使用Java8,由于该版本JDK支持lambda表达式,可以采用第5种方式来遍历。
如果你想使用泛型,可以参考方法3。如果你使用旧版JDK不支持泛型可以参考方法4。
1、 通过ForEach循环进行遍历
mport java.io.IOException;
import java.util.HashMap;
import java.util.Map;
public class Test {
public static void main(String[] args) throws IOException {
Map<Integer, Integer> map = new HashMap<Integer, Integer>();
map.put(1, 10);
map.put(2, 20);
// Iterating entries using a For Each loop
for (Map.Entry<Integer, Integer> entry : map.entrySet()) {
System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());
}
}
}
2、 ForEach迭代键值对方式
如果你只想使用键或者值,推荐使用如下方式
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
public class Test {
public static void main(String[] args) throws IOException {
Map<Integer, Integer> map = new HashMap<Integer, Integer>();
map.put(1, 10);
map.put(2, 20);
// 迭代键
for (Integer key : map.keySet()) {
System.out.println("Key = " + key);
}
// 迭代值
for (Integer value : map.values()) {
System.out.println("Value = " + value);
}
}
}
3、使用带泛型的迭代器进行遍历
import java.io.IOException;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
public class Test {
public static void main(String[] args) throws IOException {
Map<Integer, Integer> map = new HashMap<Integer, Integer>();
map.put(1, 10);
map.put(2, 20);
Iterator<Map.Entry<Integer, Integer>> entries = map.entrySet().iterator();
while (entries.hasNext()) {
Map.Entry<Integer, Integer> entry = entries.next();
System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());
}
}
}
4、使用不带泛型的迭代器进行遍历
import java.io.IOException;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
public class Test {
public static void main(String[] args) throws IOException {
Map map = new HashMap();
map.put(1, 10);
map.put(2, 20);
Iterator<Map.Entry> entries = map.entrySet().iterator();
while (entries.hasNext()) {
Map.Entry entry = (Map.Entry) entries.next();
Integer key = (Integer) entry.getKey();
Integer value = (Integer) entry.getValue();
System.out.println("Key = " + key + ", Value = " + value);
}
}
}
5、通过Java8 Lambda表达式遍历
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
public class Test {
public static void main(String[] args) throws IOException {
Map<Integer, Integer> map = new HashMap<Integer, Integer>();
map.put(1, 10);
map.put(2, 20);
map.forEach((k, v) -> System.out.println("key: " + k + " value:" + v));
}
}
输出
key: 1 value:10
key: 2 value:20
Java中遍历HashMap的5种方式相关推荐
- java foreach hashmap_在 Java 中遍历 HashMap 的5种最佳方式
在本文中,我们将通过示例讨论在 Java 上遍历 HashMap 的五种最佳方式. 使用 Iterator 遍历 HashMap EntrySet 使用 Iterator 遍历 HashM ...
- java中遍历HashMap的四种方法及效率比较
1. 推荐方法: 使用entrySet 遍历Map 类集合KV,而不是keySet 方式进行遍历. 代码示例如下: // 循环第二种HashMap<Integer, String> map ...
- Java中遍历Map的五种方式
方法一:在for循环中遍历value Map<String, String> map = new HashMap();map.put("开发", "开发&qu ...
- java中遍历map的两种方式
1.先将map对象转成set,然后再转为迭代器 1 Iterator iterator = map.entrySet().iterator(); 2 while(iterator.hasNext()) ...
- 遍历 HashMap 的 5 种方式总结
介绍 在本文中,我们将通过示例讨论在 Java 上遍历 HashMap 的五种方法. 1.使用 Iterator 遍历 HashMap EntrySet 2.使用 Iterator 遍历 HashMa ...
- java直接调用复制文件,java中文件复制的4种方式,java文件的复制
java中文件复制的4种方式,java文件的复制 今天一个同事问我文件复制的问题,他一个100M的文件复制的指定目录下竟然成了1G多,吓我一跳,后来看了他的代码发现是自己通过字节流复制的,定义的字节数 ...
- JAVA中集合输出的四种方式
在JAVA中Collection输出有四种方式,分别如下: 一) Iterator输出. 该方式适用于Collection的所有子类. public class Hello {public stati ...
- Java中实现接口的三种方式您造吗?
本文介绍了Java中实现接口的三种方式:常规实现方式.匿名内部类和 Lambda表达式实现方式.希望已经了解的同学可以重新温习一下,不了解的同学则从中受益! Java中接口最常规的实现方式 同学们都会 ...
- java中实现多线程的三种方式
java中实现多线程的三种方式 1.实现多线程的方法: 在java中实现多线程的两途径:继承Thread类,实现Runable接口(Callable) 2.继承Thread类实现多线程: 继承类T ...
最新文章
- GCT之数学公式(代数部分)
- Maven——第1章 Maven 介绍
- pythonloop循环结构_python - tensorflow,tf.while_loop:这两个结构没有相同的嵌套结构 - SO中文参考 - www.soinside.com...
- STC12单片机串口U盘测试程序源码
- 安装引导黑屏_南京课工场IT培训:引导过程与服务控制(理论笔记篇)
- .NET 6新特性试用 | 可空引用类型
- linux下分割文件的方法,关于linux系统下分割大文件的方法
- Python 集合定义及运算
- java泛型与c 泛型,Java泛型代码编译与javac,失败与Eclipse Helios
- PCL中的ICP算法(Registration模块之IterativeClosestPoint点云配准)
- 618网购盛宴开启,容联AI+CC为企业构建电商“新基建”中台
- python 相关系数(全)
- 树莓派GPIO远程控制继电器
- 前端工资涨不上去?可能是你没掌握构建工具:关于 Webpack、Babel、esbuild、Vite、Rollup、Parcel、SWC......的那些事
- 为什么中国的程序员喜欢用英文写代码,甚至注释也用英文?
- python 用tushare每日获得每天股票数据
- 【已解决】阿里自动滑块 x5sec 解密 钉钉数据采集
- 中石油中石化的数字化变革:中国石油数字化油田迈入物联网与云计算时代!
- 关于数据库事务隔离级别的介绍
- AI工具:Anaconda中Jupyter不能import已安装module问题解决