Map之遍历Map的四种方法 java

版权声明:博客内容为本人自己所写,请勿转载。 https://blog.csdn.net/weixin_42805929/article/details/82826068

Map之遍历Map的四种方法 java

注意:
1、Map是java中的接口,Map.Entry是Map的一个内部接口 。
2、 Map提供了一些常用方法,如keySet()、entrySet()等方法,keySet()方法返回值是Map中key值的集合;entrySet()的返回值也是返回一个Set集合,此集合的类型为Map.Entry。
3、Map.Entry是Map声明的一个内部接口,此接口为泛型,定义为Entry。它表示Map中的一个实体(一个key-value对)。接口中有getKey(),getValue方法。

方法:

注意:map中的集合key键不能重复,否则同一key键的value值将取决于最后一次的值。

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

public class Main {
	public static void main(String[] args) {
		Map<String, String> map = new HashMap<>();
		map.put("1", "value1");
		map.put("2", "value2");
		map.put("3", "value3");
		map.put("4", "value4");
		map.put("1", "value5");

		// 方法1: 普遍使用,二次取值
		for (String key : map.keySet()) {
			System.out.println(key + " " + map.get(key));
		}

		// 方法2:使用迭代器
		Iterator<Map.Entry<String, String>> it = map.entrySet().iterator();
		while (it.hasNext()) {
			Map.Entry<String, String> entry = it.next();
			System.out.println(entry.getKey() + " " + entry.getValue());
		}

		// 方法3:推荐使用,尤其是容量较大时
		for (Map.Entry<String, String> entry : map.entrySet()) {
			System.out.println(entry.getKey() + " " + entry.getValue());
		}

		// 方法4:只能遍历value集合
		for (String value : map.values()) {
			System.out.println(value);
		}
	}
}

猜你喜欢

转载自blog.csdn.net/weixin_42805929/article/details/82826068