~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 }

 4:Map的一些常用的知识点,和取值的变形形式,都需要掌握和了解

 1 package com.bie; 
 2  
 3 import java.util.Collection; 
 4 import java.util.HashMap; 
 5 import java.util.Map; 
 6 import java.util.Set; 
 7  
 8 /**  
 9 * @author BieHongLi  
10 * @version 创建时间:2017年2月26日 上午11:29:59  
11 *  
12 */ 
13 public class MapTest02 { 
14  
15     public static void main(String[] args) { 
16         //1:key,value都是object类型的 
17         //2:key必须是唯一的,不唯一,那么后面的value会把前面的value覆盖 
18         //3:对于HashMap,key可以为空 
19         //4:value可以为空,也可以为空 
20         //5:HashTable的key和value不能为空 
21         //6:properties的key和value必须为String类型的 
22         Map<String , String> map=new HashMap<>(); 
23         map.put("null", "this is null 1"); 
24         map.put("null", "this is null 2"); 
25         System.out.println(map.size()); 
26         System.out.println(map.get(null)); 
27          
28         System.out.println("============================="); 
29         //循环显示map类型的key以及对应的value 
30         //三个集合,key的集合,value的集合,键值对的集合 
31         Set<String> keys=map.keySet(); 
32         for(String s:keys){ 
33             System.out.println(s); 
34         } 
35         System.out.println("============================="); 
36         Collection<String> values=map.values();//值的集合 
37         System.out.println(values); 
38         System.out.println("============================="); 
39         Set<Map.Entry<String, String>> entrys=map.entrySet();//键值对的集合 
40         for(Map.Entry<String, String> entry:entrys){ 
41             System.out.println(entry.getKey()+" "+entry.getValue()); 
42         } 
43          
44     } 
45 }

评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!