JAVA Map 的三种遍历方式

来源:互联网 发布:优学通软件下载 编辑:程序博客网 时间:2024/06/06 01:03

第一种:

最常规的一种遍历方法,最常规就是最常用的,虽然不复杂,但很重要,这是我们最熟悉的。

import java.util.Collection;  
import java.util.Iterator;  
import java.util.Map;  
import java.util.HashMap;  
  
    /** 
     * 1.把值放到一个集合里,然后遍历集合 
     */  

public class TraversalMap1 {  
    private static Map<Integer, String> map;  
    private static TraversalMap1 getMap(){  
        map = new HashMap<Integer, String>();  
        for(int i = 0 ; i < 10 ; i ++){  
            if(map.isEmpty()) map.put(i, "String " + i);  
            else if(map.get(i) == null) map.put(i,"String " + i) ;  
        }  
        return null;  
    }  
      
    public static void main(String[] args){  
        getMap();  
        Collection<String> c = map.values();  
        Iterator i = c.iterator();  
        for(; i.hasNext() ;){  
            System.out.println(i.next());//遍历出map内的所有value  
        }  
          
    }     

第二种:

利用keyset进行遍历,它手优点在于可以根据你所想要的key值得到你想要的values,更具灵活性。

import java.util.Set;  
import java.util.Iterator;  
import java.util.Map;  
import java.util.HashMap;  
    /** 
    * 2.把key放到一个集合里,遍历key值同时根据key得到值 
    */  

public class TraversalMap2 {  
    private static Map<Integer, String> map;  
    private static TraversalMap2 getMap(){  
        map = new HashMap<Integer, String>();  
        for(int i = 0 ; i < 10 ; i ++){  
            if(map.isEmpty()) map.put(i, "String " + i);  
            else if(map.get(i) == null) map.put(i,"String " + i) ;  
        }  
        return null;  
    }  
      
    public static void main(String[] args){  
        getMap();  
        Set set = map.keySet();  
        Iterator i = set.iterator();  
        for(; i.hasNext() ;){  
            System.out.println(i.next());//遍历出map内的所有key  
        }  
          
    }     
}   

第三种:

比较复杂的一种遍历在这里,呵呵~~它很暴力哦,它的灵活性太强了,想得到什么就能得到什么。

import java.util.Map;  
import java.util.HashMap;  
    /** 
    * 3.把一个map对象放到放到entry里,然后根据entry同时得到key和value 
    */  

public class TraversalMap3 {  
    private static Map<Integer, String> map;  
    private static int num = 0 ;  
    private static String str = "";  
    private static TraversalMap3 getMap(){  
        map = new HashMap<Integer, String>();  
        for(int i = 0 ; i < 10 ; i ++){  
            if(map.isEmpty()) map.put(i, "String " + i);  
            else if(map.get(i) == null) map.put(i,"String " + i) ;  
        }  
        return null;  
    }  
      
    public static void main(String[] args){  
        getMap();  
        for(Map.Entry<Integer, String> entry : map.entrySet()){  
            num = entry.getKey();  
            str = entry.getValue();  
            System.out.println("the map key is : " + num + " || the value is : " + str);//显示出map的key和value  
        }  
          
    }     
}  
0 0
原创粉丝点击