方法1 for增强型
方法2 Iterator迭代器
方法3 键对值
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);
}
}
}