public static void main(String[] args) {
        Map<Integer, String> map = new HashMap<>();
        map.put(1, "a");
        map.put(2, "b");
        map.put(3, "ab");
        map.put(4, "ab");
 
        System.out.println("##JAVA7##");
        System.out.println("--------------1-----------------");
 
        // 1. 通过 Foreach 遍历 Map.keySet
        for (Integer key:map.keySet()) {
            String value = map.get(key);
            System.out.println("key="+ key +";value="+ value);
        }
 
        System.out.println("--------------2-----------------");
 
        // 2. 通过 Foreach 遍历 Map.values (),不能遍历键
        for (String value: map.values()) {
            System.out.println("value="+value);
        }
 
        System.out.println("--------------3-----------------");
 
        // 3. 使用 Foreach 遍历 Map.entrySet
        for (Map.Entry<Integer,String> entry: map.entrySet()) {
            Integer key = entry.getKey();
            String value = entry.getValue();
            System.out.println("key="+ key +";value="+ value);
        }
 
        System.out.println("--------------4-----------------");
 
        // 4. 使用 Iterator 遍历 Map.entrySet
        Iterator<Map.Entry<Integer, String>> it = map.entrySet().iterator();
        while (it.hasNext()){
            Map.Entry<Integer, String> entry = it.next();
            Integer key = entry.getKey();
            String value = entry.getValue();
            System.out.println("key="+ key +";value="+ value);
        }
 
        System.out.println("--------------5-----------------");
 
        // 5. 同 4,但不使用泛型
        Iterator it1 = map.entrySet().iterator();
        while (it1.hasNext()){
            Map.Entry entry = (Map.Entry) it1.next();
            Integer key = (Integer)entry.getKey();
            String value = (String)entry.getValue();
            System.out.println("Key = " + key + ", Value = " + value);
        }
 
 
        System.out.println("##JAVA8##");
        System.out.println("--------------1-----------------");
 
        // 1. 通过 Foreach 遍历 Map.keySet
        map.keySet().forEach(key-> System.out.println("key="+key+";value="+map.get(key)));
 
        System.out.println("--------------2-----------------");
 
        // 2. 通过 Foreach 遍历 Map.values (),不能遍历键
        map.values().forEach(System.out::println);
 
        System.out.println("--------------3-----------------");
 
        // 3. 使用 Foreach 遍历 Map.entrySet
        map.entrySet().forEach(entry-> System.out.println("key="+entry.getKey()+";value="+entry.getValue()));
 
        System.out.println("--------------4-----------------");
 
        // 4. 使用 Iterator 遍历 Map.entrySet
        map.entrySet().iterator().forEachRemaining(item-> System.out.println("key="+item.getKey()+";value="+item.getValue()));
 
        System.out.println("--------------5-----------------");
 
        // 5.java8 新增
        map.forEach( (k,v)-> System.out.println("key="+k+";value="+v) );
    }

附录:

性能说明参考:http://www.jb51.net/article/59874.htm

更新于 阅读次数

请我喝[茶]~( ̄▽ ̄)~*

Jalen Chu 微信支付

微信支付

Jalen Chu 支付宝

支付宝

Jalen Chu 公众号

公众号