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