Java HashMap的遍历
时间: 2025-07-06 21:50:06 浏览: 8
### Java中遍历HashMap的方法
#### 使用Iterator遍历HashMap EntrySet
当需要访问键和对应的值时,可以使用`Iterator`来遍历`entrySet()`。这种方式提供了对条目的直接控制。
```java
import java.util.*;
public class HashMapEntrySetExample {
public static void main(String[] args) {
Map<String, Integer> map = new HashMap<>();
map.put("Alice", 30);
map.put("Bob", 25);
map.put("Charlie", 35);
Iterator<Map.Entry<String, Integer>> iterator = map.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry<String, Integer> entry = iterator.next();
System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue());
}
}
}
```
此方法允许安全地移除元素而不抛出并发修改异常[^1]。
#### 使用For-each循环迭代HashMap
对于更简洁的语法,for-each语句提供了一种方便的方式来遍历整个映射表中的键或值。
```java
// 遍历key set
for (String key : map.keySet()) {
System.out.println("Key: " + key + ", Value: " + map.get(key));
}
// 或者只遍历value集合
for (Integer value : map.values()) {
System.out.println("Value: " + value);
}
```
后者特别适用于只需要操作值而无需关心其关联键的情况[^2]。
#### 利用Lambda表达式遍历HashMap
自Java8以来引入了lambda支持,这使得编写函数式风格代码成为可能,从而简化某些类型的逻辑实现。
```java
map.forEach((k, v) -> System.out.println("Key: " + k + ", Value: " + v));
```
这段代码展示了如何利用lambda表达式的紧凑形式完成同样的任务[^4]。
#### 应用Stream API遍历HashMap
最后一种现代的方式是采用流API来进行数据处理管道的设计模式;它不仅限于简单的打印输出,还可以轻松集成过滤、映射等功能。
```java
map.entrySet()
.stream()
.forEach(entry -> System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue()));
```
这种做法非常适合那些希望以声明性方式定义复杂查询的人士。
阅读全文
相关推荐


















