Fork me on GitHub

遍历Map的四种方法

遍历Map的四种方法

public class MapTest {

    public static void main(String[] args) {
        Map<String, String> maps = new HashMap<String, String>();
        maps.put("k1", "value1");
        maps.put("k2", "value2");
        maps.put("k3", "value3");
        test1(maps);
//        test2(maps);
//        test3(maps);
//        test4(maps);
    }
    
    //第一种:普遍使用,二次取值
    public static void test1(Map<String, String> maps){
        System.err.println("通过Map.keySet遍历key和value");
        for(String key : maps.keySet()){
            System.out.println("key:"+key+"--->value:"+maps.get(key));
        }
    }
    
    //第二种:通过Map.entrySet使用iterator遍历key和value
    public static void test2(Map<String, String> maps){
         System.err.println("通过Map.entrySet使用iterator遍历key和value:");
        Iterator<Map.Entry<String, String>> it = maps.entrySet().iterator();
        while(it.hasNext()){
            Map.Entry<String, String> entry = it.next();
            System.out.println("key:"+entry.getKey()+"--->value:"+entry.getValue());
        }
    }
    
    //第三种:推荐,尤其是容量大时
    public static void test3(Map<String, String> maps){
         System.err.println("通过Map.entrySet遍历key和value");
         for(Map.Entry<String, String> entry : maps.entrySet()){
             System.out.println("key:"+entry.getKey()+"--->value:"+entry.getValue());
         }
    }
    
    //第四种
        public static void test4(Map<String, String> maps){
            System.out.println("通过Map.values()遍历所有的value,但不能遍历key");
             for(String str : maps.values()){
                 System.out.println("value:"+str);
             }
        }
}

 

posted on 2015-04-24 18:33  骑着乌龟漫步  阅读(288)  评论(0编辑  收藏  举报

导航