HashMap的四种遍历

package demo1;

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

public class MapTest {
	public static void main(String[] args) {
		Map<Integer, String> map = new HashMap<Integer, String>();
		map.put(1, "a");
		map.put(2, "b");
		map.put(3, "c");
		map.put(4, "d");
		map.put(5, "e");
		System.out.println(map);
		
		// 第一种:
		/*
		 * Set<Integer> set = map.keySet(); //得到所有key的集合
		 */
		System.out.println("第一种:通过Map.keySet遍历key和value:");
		for (Integer integer : map.keySet()) {
			// map.keySet()返回的是所有key的值
			String string = map.get(integer);// 得到每个key多对用value的值
			System.out.println(integer + "     " + string);
		}
		
		// 第二种:
		System.out.println("第二种:通过Map.entrySet使用iterator遍历key和value:");
		Iterator<Map.Entry<Integer, String>> mIterator = map.entrySet().iterator();
		while (mIterator.hasNext()) {
			Map.Entry<Integer, String> entry = mIterator.next();
			System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
		}
		
		// 第三种:
		System.out.println("第三种:通过Map.entrySet遍历key和value");
		for (Map.Entry<Integer, String> entry : map.entrySet()) {
			// Map.entry<Integer,String> 映射项(键-值对) 有几个方法:用上面的名字entry
			// entry.getKey() ;entry.getValue(); entry.setValue();
			// map.entrySet() 返回此映射中包含的映射关系的 Set视图。
			System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
		}
		
		// 第四种:
		System.out.println("第四种:通过Map.values()遍历所有的value,但不能遍历key");
		for (String v : map.values()) {
			System.out.println("value= " + v);
		}
	}
}

猜你喜欢

转载自blog.csdn.net/qq_24801365/article/details/82793267
今日推荐