方法1 for增強型
package com.MapDemo;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
/**
*
* @author
* 存儲國家英文簡稱 國家全稱|(鍵--值對)
* */
public class MapDemo {
public static void main(String[] args) {
Map countries = new HashMap();
//往map 集合中添加鍵值對
countries.put("CN", "中華人民共和國");
countries.put("RU", "俄羅斯聯邦");
countries.put("FR", "法蘭西共和國");
countries.put("US", "美利堅衆合國");
//擷取 Map中的元素個數
System.out.println(countries.size());
//通過某個鍵 擷取對應的值
String cnStr =(String) countries.get("CN");
System.out.println(cnStr);
//判斷 map中是否包含某個鍵
boolean flag = countries.containsKey("US");
System.out.println("集合中是否包含US?"+flag);
//删除特定鍵的鍵值對
countries.remove("US");
System.out.println(countries.size());
flag = countries.containsKey("US");
System.out.println("集合中是否包含US?"+flag);
//分别顯示map 中鍵集 值集 和鍵值對集
System.out.println(countries.keySet());//顯示鍵集
System.out.println(countries.values());//顯示值集
System.out.println(countries);//顯示鍵值對集
// //清空
// countries.clear();
// if(countries.isEmpty()) {
// System.out.println("Map資料已清空!");
//
// }
System.out.println("------------分别擷取map中的 鍵 和 值---------------");
//思路1: 先擷取到每個key,然後根據key拿到 相應的Value
Set keys = countries.keySet();
System.out.println("------------方法1使用for增強型---------------");
//使用增強型for拿到每個key
for (Object obj : keys) {
String key =(String) obj;
String value = (String) countries.get(key);
System.out.println(key+"-"+value);
}
System.out.println("------------方法2使用疊代器---------------");
Iterator itor = keys.iterator();
while(itor.hasNext()) {
String key= (String) itor.next();
String value = (String) countries.get(key);
System.out.println(key+"-"+value);
}
System.out.println("思路二-------先拿到map中鍵值對,然後在每個鍵值對中分别取出鍵和值");
//思路二: 先拿到map中鍵值對,然後在每個鍵值對中分别取出鍵和值
Set ms = countries.entrySet(); //map中所有鍵值對得到集合
for(Object obj :ms) {
Map.Entry me =(Entry) obj; //map中的每一個鍵值對
Object key =me.getKey(); //取出每個鍵值對中的鍵
Object value =me.getValue(); //取出每個鍵值對中的值
System.out.println((String)key+"-"+(String)value);
}
}
}