Map集合迭代的两种方法

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

public class Map_He {

    /**
     * Map<k,v>:将键映射到值的对象。一个映射不能包含重复的键,每个键最多只能映射到一个值
     *             k - 映射键的类型   v -  映射值的类型
     */
    public static void main(String[] args) {
        /**
         * 迭代map集合方法一:keySet()
         */
        //创建Map集合,并添加元素
        Map<Integer,String> map = new HashMap<Integer,String>();
        map.put(1, "薇恩");
        map.put(2, "寒冰");
        map.put(3, "奥巴马");
        map.put(4, "盲僧");
        map.put(5, "提莫");
        //获取Map集合中的所有键的Set集合
        Set<Integer> keySet = map.keySet();
        //根据Set集合获取迭代器(Iterator)
        Iterator<Integer> it = keySet.iterator();
        while(it.hasNext()){
            //声明Integer类型变量接收 键(K) 值
            Integer i = it.next();
            //声明String类型变量,通过map.get()方法获取值(V)
            String s = map.get(i);
            //最后输出打印
            System.out.println(i+" "+s);
        }
        
        /**
         * 迭代map集合方法二:entrySet(),此方法返回一个Map.Entry实例化后的对象集
         */
        //获取map集合的 键(K) 和 值(V)的映射关系的 Set 视图
        Set<Map.Entry<Integer, String>> entry = map.entrySet();
        Iterator<Map.Entry<Integer,String>> ite = entry.iterator();
        while(ite.hasNext()){
            //将键值关系取出存入Map.Entry这个映射关系集合接口中
            Map.Entry<Integer, String> me = ite.next();
            //通过Map.Entry中的方法获取键和值
            Integer k = me.getKey();
            String v = me.getValue();
            System.out.println(k+" "+v);
        }
        
    }

}

 

posted @ 2015-06-05 15:53  何秋雨  阅读(1213)  评论(0编辑  收藏  举报