文章目录
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.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.put("张飞", "男");
map.put("孙尚香", "女");
map.put("关羽", "男");
map.put("貂蝉", "女");
// 遍历键值对集合
for (Map.Entry
// 获取键
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.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.put("张飞", "男");
map.put("孙尚香", "女");
map.put("关羽", "男");
map.put("貂蝉", "女");
// 获取键值对集合的迭代器
Iterator
// 使用迭代器遍历
while (iterator.hasNext()) {
Map.Entry
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.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.put("张飞", "男");
map.put("孙尚香", "女");
map.put("关羽", "男");
map.put("貂蝉", "女");
// 遍历所有键
for (String key : map.values()) {
System.out.println("value: " + key);
}
}
}