java 遍历Map的四种方法

转载请出自出处: http://eksliang.iteye.com/blog/2059996
package com.ickes;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
/**
 * 遍历Map的四种方式
 * @author Ickes
 *
 */
public class MapTest {
	public static void main(String[] args) {
		Map<String,String> map=new HashMap<String, String>();
		map.put("a001","value1");
		map.put("a002","value2");
		map.put("a003","value3");
		
		//第一种:普遍使用,二次取值
		for (String key : map.keySet()) {
			System.out.println("key:"+key+"---value:"+map.get(key));
		}
		
		/*
		 * 记住map的底层采用entry对象数组实现,直接取她的entry容器
		 * 第二种:推荐使用,一次性搞定,而且简洁,效率高
		 */
		
		for (Map.Entry<String, String> entry : map.entrySet()) {
			System.out.println("key:"+entry.getKey()+"---value:"+entry.getValue());
		}
		
		/*
		 *第三种使用迭代器,
		 *这里通过map的entryset得到她的迭代器,
		 *可以看到这里比上面多了一层,就是把entrySet封装为一个Iterator迭代器
		 */
		Iterator<Entry<String, String>> it=map.entrySet().iterator();
		while (it.hasNext()) {
			Entry<String, String> entry=it.next();
			System.out.println("key:"+entry.getKey()+"---value:"+entry.getValue());
		}
		
		//第四种,这种方式只能获得值,不能获得键
		for (String v : map.values()) {
			 System.out.println("value:" + v);
	     }
	}
}

你可能感兴趣的:(java,HashMap,java 遍历Map的四种方法)