~Map集合是键值对形式存储值的,所以遍历Map集合无非就是获取键和值,根据实际需求,进行获取键和值
1:无非就是通过map.keySet()获取到值,然后根据键获取到值
for(String s:map.keySet()){
System.out.println("key : "+s+" value : "+map.get(s));
}
2:通过Map.Entry(String,String) 获取,然后使用entry.getKey()获取到键,通过entry.getValue()获取到值
for(Map.Entry<String, String> entry : map.entrySet()){
System.out.println("键 key :"+entry.getKey()+" 值value :"+entry.getValue());
}3:其中通过Iterator也是为了最终获得entry,所以理解其用法,可以很好的使用和掌握
1 package com.bie; 2 3 import java.util.HashMap; 4 import java.util.Iterator; 5 import java.util.Map; 6 7 /** 8 * @author BieHongLi 9 * @version 创建时间:2017年2月25日 下午8:58:54 10 * 11 */ 12 public class MapTest01 { 13 14 public static void main(String[] args) { 15 Map<String, String> map=new HashMap<String, String>(); 16 map.put("张三1", "男"); 17 map.put("张三2", "男"); 18 map.put("张三3", "男"); 19 map.put("张三4", "男"); 20 map.put("张三5", "男"); 21 22 //第一种遍历map的方法,通过加强for循环map.keySet(),然后通过键key获取到value值 23 for(String s:map.keySet()){ 24 System.out.println("key : "+s+" value : "+map.get(s)); 25 } 26 System.out.println("===================================="); 27 28 //第二种只遍历键或者值,通过加强for循环 29 for(String s1:map.keySet()){//遍历map的键 30 System.out.println("键key :"+s1); 31 } 32 for(String s2:map.values()){//遍历map的值 33 System.out.println("值value :"+s2); 34 } 35 System.out.println("===================================="); 36 37 //第三种方式Map.Entry<String, String>的加强for循环遍历输出键key和值value 38 for(Map.Entry<String, String> entry : map.entrySet()){ 39 System.out.println("键 key :"+entry.getKey()+" 值value :"+entry.getValue()); 40 } 41 System.out.println("===================================="); 42 43 //第四种Iterator遍历获取,然后获取到Map.Entry<String, String>,再得到getKey()和getValue() 44 Iterator<Map.Entry<String, String>> it=map.entrySet().iterator(); 45 while(it.hasNext()){ 46 Map.Entry<String, String> entry=it.next(); 47 System.out.println("键key :"+entry.getKey()+" value :"+entry.getValue()); 48 } 49 System.out.println("===================================="); 50 51 } 52 53 54 }
原文:http://www.cnblogs.com/biehongli/p/6443701.html