class="java">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); } } }