Java迭代HashMap示例

时间:2020-02-23 14:37:11  来源:igfitidea点击:

这个示例向我们展示了如何在Java中迭代HashMap

在Java中迭代一个集合或者数据集是一个非常常见的任务。我们可以使用它来打印或者操作数据。下面的例子展示了如何迭代HashMap的三种不同方法。根据Java版本,我们可以选择其中一个。

使用for each遍历HashMap

这是明智的做法。它使我们可以完全控制映射中的键和值。使用这种方法,我们实际上可以迭代

EntrySet

得到循环中每个条目的键和值。

For-each在Java版本1.5中可用+

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());
		}
	}
}

用java8中的Lambda表达式迭代HashMap

这种方法在Java8+版本中可用。

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。这是Java1.4和旧版本中的默认方法。虽然下面的示例使用泛型,但是我们需要Java1.5+来执行它

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());
		}
	}
}