import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
/*本类用于测试Map的迭代*/
public class TestMap2 {
public static void main(String[] args) {
//1.创建Map相关对象
// Map m =new Map<>();//报错,因为Map是接口,无法实例化
Map<Integer,String> map = new HashMap();
//2.向集合中添加测试数据
map.put(9527,"白骨精");
map.put(9528,"黄毛怪");
map.put(9529,"狮子精");
map.put(9530,"金角大王");
System.out.println(map);
//3.对map集合进行迭代
/*前提:map本身没有迭代器,所以需要转换成其他集合进行迭代
*方案一:Set<key> keyset()-----将map中的所有key值取出存入set集合
*方案二:Set<Entry<K,V>> entrySet()
* ------把map中的一对Key&Valuve取出,形成一个个Entry<K,V>
* 将Entry作为一个个独立的元素存入set中*/
//map迭代方式一
//1.将map中的所有key值取出存入set集合,set集合的泛型就是key的类型
Set<Integer> keySet = map.keySet();
//2.想要遍历集合,就要先获取集合对应的迭代器
Iterator<Integer> it = keySet.iterator();
//3.循环遍历集合中的每一个元素
while(it.hasNext()){
Integer key = it.next();
String value = map.get(key);
System.out.println("["+key+"="+value+"]");
}
System.out.println("*******************************");
//map迭代方式二
Set<Map.Entry<Integer, String>> entrySet = map.entrySet();
//1.获取迭代器
Iterator<Map.Entry<Integer, String>> it2 = entrySet.iterator();
//2.遍历集合
while (it2.hasNext()){
Map.Entry<Integer, String> entry = it2.next();
Integer key = entry.getKey();
String value = entry.getValue();
System.out.println("{"+key+"="+value+"}");
}
}
}
Map迭代
最新推荐文章于 2022-07-25 16:54:15 发布