# Java `HashMap`迭代示例

> 原文： [https://javatutorial.net/java-iterate-hashmap-example](https://javatutorial.net/java-iterate-hashmap-example)

本示例说明如何在 Java 中遍历[`HashMap`](https://javatutorial.net/java-hashmap-example)

在 Java 中遍历集合或数据集是一项非常常见的任务。 您可以使用它来打印或处理数据。 以下示例显示了有关如何遍历`HashMap`的三种不同方法。 根据您的 Java 版本，您可以选择其中之一。

## 使用`for`遍历[`HashMap`](https://javatutorial.net/java-hashmap-example)

这是建议的方法。 它使您可以完全控制地图中的键和值。 使用这种方法，您实际上遍历了映射的`EntrySet`，并获得了循环内每个条目的键和值。

每个版本在 Java 版本 1.5 中均可用

```java
import java.util.HashMap;
import java.util.Map;

public class IterateHashMap {

	public static void main(String[] args) {
		Map<String, String> map = new HashMap<String, String>();
		map.put("key1", "value1");
		map.put("key2", "value2");

		for (Map.Entry<String, String> entry : map.entrySet()) {
		    System.out.println(entry.getKey() + " = " + entry.getValue());
		}
	}
}

```

## 在 Java 8 中使用 Lambda 表达式遍历`HashMap`

Java 8+ 版本中提供了这种方法。

```java
import java.util.HashMap;
import java.util.Map;

public class IterateHashMap {

	public static void main(String[] args) {
		Map<String, String> map = new HashMap<String, String>();
		map.put("key1", "value1");
		map.put("key2", "value2");

		map.forEach((key,value) -> System.out.println(key + " = " + value));
	}
}

```

## 使用`Iterator`遍历`HashMap`

此方法使用`java.util.Iterator`浏览`HashMap`。 这是 Java 1.4 和更早版本中的默认方法。 尽管下面的示例使用泛型，所以您需要 Java 1.5+ 才能执行它

```java
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;

public class IterateHashMap {

	public static void main(String[] args) {
		Map<String, String> map = new HashMap<String, String>();
		map.put("key1", "value1");
		map.put("key2", "value2");

		Iterator<Entry<String, String>> it = map.entrySet().iterator();
		while (it.hasNext()) {
			Map.Entry<String, String> pair = (Map.Entry<String, String>) it.next();
			System.out.println(pair.getKey() + " = " + pair.getValue());
		}
	}
}

```