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); } } }