Map集合 – 遍历方式2: 通过键值对,找键,找值 的方式
package Test_01;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
/*
* Map集合 遍历方式2: 通过键值对,找键,找值 的方式
* Map集合中的方法:
* entrySet()--此方法返回Map集合中所有的键值对(Entry)对象,以set集合形式返回
* --也就是说此方法把<键值对>的“映射关系=Entry”装在Set集合中
* --也就是说此方法把<夫 妻>的“ 结婚证 =Entry”装在Set集合中
* 注意:Iterator接口下的实现类都可以用增强for,与Map无关
* */
public class MapDemo02 {
public static void main(String[] args) {
// 【1】创建Map对象
Map<String, String> map = new HashMap<String, String>();
// 给map中添加元素
map.put("邓超", "孙俪");
map.put("李晨", "范冰冰");
map.put("刘德华", "柳岩");
// 【2】就是遍历HashMap集合
// ---1.通过Map集合的entry()方法--借助Set集合存储Map集合中所有键值对的“映射关系”的对象
// --也就是说此方法把<键值对>的“映射关系=Entry”装在Set集合中
// --也就是说此方法把<夫 妻>的“ 结婚证 =Entry”装在Set集合中
// 外部接口调用内部接口
Set<Map.Entry<String, String>> entrySet = map.entrySet();
// ---2.遍历set集合,获取出集合中所有的元素(Map集合中的键值对的”映射关系“对象---"俗话对象就是说多个结婚证")
Iterator<Map.Entry<String, String>> it = entrySet.iterator();
while (it.hasNext()) {
Map.Entry<String, String> jianzhidui = it.next();// 获取的是键值对
// 既然获取到了键值对,那么通过接口Map.Entry<k,v>中的俩个方法:getKey()获取键、getValue()获取值
String k = jianzhidui.getKey();
String v = jianzhidui.getValue();
System.out.println(k + "=" + v);
}
System.out.println("=============================");
// 增强for
for (Map.Entry<String, String> s : entrySet) {
String k = s.getKey();
String v = s.getValue();
System.out.println(k+"="+v);
}
}
}
