遍历HashMap,有6种方式,你学会了没?

遍历HashMap,有6种方式,你学会了没?

文章目录

1,使用 keySet() 遍历键,再通过键获取值2,使用 entrySet() 遍历键值对3,使用 forEach() 方法(Java 8 及以上)4,使用迭代器(Iterator)遍历5,遍历所有键6,遍历所有值

在 Java 中,有多种方式可以遍历 HashMap,下面为你详细介绍几种常见的遍历方法。

1,使用 keySet() 遍历键,再通过键获取值

创建一个 HashMap 对象,并向其中添加一些键值对。使用 map.keySet() 方法获取 HashMap 中所有键的集合。通过 for-each 循环遍历这个键的集合。在循环体中,使用 map.get(key) 方法根据当前键获取对应的值,并将键和值打印输出。

package com.maoge;

import java.util.HashMap;

import java.util.Map;

public class Test03 {

public static void main(String[] args) {

// 创建一个 HashMap 并添加元素

Map map = new HashMap<>();

map.put("张飞", "男");

map.put("孙尚香", "女");

map.put("关羽", "男");

map.put("貂蝉", "女");

// 遍历键集合

for (String key : map.keySet()) {

// 根据键获取值

String value = map.get(key);

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

}

}

}

2,使用 entrySet() 遍历键值对

先创建一个 HashMap 对象并添加键值对。使用 map.entrySet() 方法获取包含所有键值对的集合。通过 for-each 循环遍历这个集合,每次循环得到一个 Map.Entry 对象。在循环体中,使用 entry.getKey() 方法获取键,使用 entry.getValue() 方法获取值,并将它们打印输出。

package com.maoge;

import java.util.HashMap;

import java.util.Map;

public class Test03 {

public static void main(String[] args) {

// 创建一个 HashMap 并添加元素

Map map = new HashMap<>();

map.put("张飞", "男");

map.put("孙尚香", "女");

map.put("关羽", "男");

map.put("貂蝉", "女");

// 遍历键值对集合

for (Map.Entry entry : map.entrySet()) {

// 获取键

String key = entry.getKey();

// 获取值

String value = entry.getValue();

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

}

}

}

3,使用 forEach() 方法(Java 8 及以上)

创建 HashMap 并添加元素。调用 map.forEach() 方法,传入一个 Lambda 表达式。Lambda 表达式的参数 key 和 value 分别代表当前遍历到的键和值。在 Lambda 表达式的方法体中,将键和值打印输出。

package com.maoge;

import java.util.HashMap;

import java.util.Map;

public class Test03 {

public static void main(String[] args) {

// 创建一个 HashMap 并添加元素

Map map = new HashMap<>();

map.put("张飞", "男");

map.put("孙尚香", "女");

map.put("关羽", "男");

map.put("貂蝉", "女");

// 使用 forEach 方法遍历

map.forEach((key, value) -> {

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

});

}

}

4,使用迭代器(Iterator)遍历

创建 HashMap 并添加元素。使用 map.entrySet().iterator() 方法获取键值对集合的迭代器。使用 while 循环结合 iterator.hasNext() 方法判断是否还有下一个元素。在循环体中,使用 iterator.next() 方法获取下一个 Map.Entry 对象,然后获取键和值并打印输出。

package com.maoge;

import java.util.HashMap;

import java.util.Iterator;

import java.util.Map;

public class Test03 {

public static void main(String[] args) {

// 创建一个 HashMap 并添加元素

Map map = new HashMap<>();

map.put("张飞", "男");

map.put("孙尚香", "女");

map.put("关羽", "男");

map.put("貂蝉", "女");

// 获取键值对集合的迭代器

Iterator> iterator = map.entrySet().iterator();

// 使用迭代器遍历

while (iterator.hasNext()) {

Map.Entry entry = iterator.next();

String key = entry.getKey();

String value = entry.getValue();

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

}

}

}

5,遍历所有键

注意只是遍历键值,即key值,代码如下:

package com.maoge;

import java.util.HashMap;

import java.util.Map;

public class Test03 {

public static void main(String[] args) {

// 创建一个 HashMap 并添加元素

Map map = new HashMap<>();

map.put("张飞", "男");

map.put("孙尚香", "女");

map.put("关羽", "男");

map.put("貂蝉", "女");

// 遍历所有键

for (String key : map.keySet()) {

System.out.println("key : " + key);

}

}

}

6,遍历所有值

注意只是遍历键值对的值,即value,代码如下:

package com.maoge;

import java.util.HashMap;

import java.util.Map;

public class Test03 {

public static void main(String[] args) {

// 创建一个 HashMap 并添加元素

Map map = new HashMap<>();

map.put("张飞", "男");

map.put("孙尚香", "女");

map.put("关羽", "男");

map.put("貂蝉", "女");

// 遍历所有键

for (String key : map.values()) {

System.out.println("value: " + key);

}

}

}

相关创作

凯立德导航怎么安装?
365彩票官方下载手机

凯立德导航怎么安装?

07-26 👁 1647
百万与万换算
365时政

百万与万换算

07-08 👁 8062
甲字的成语有哪些
365彩票官方下载手机

甲字的成语有哪些

07-01 👁 9136