Java Map 接口
Map接口中键和值一一映射. 可以通过键来获取值。
- 给定一个键和一个值,你可以将该值存储在一个Map对象. 之后,你可以通过键来访问对应的值。
Map<String,String>map =new HashMap<String,String>();
map.put("001", "孙俪");
map.put("002", "黄晓明");
map.put("003", "李亚男");
map.put("004", "周杰伦");
map.put("004", "周杰伦");
System.out.println(map.get("002"));//必须通过键来找值
System.out.println(map.get(1));//不能通过索引来找值
System.out.println("------遍历1-----");
Set keys =map.keySet();//["001","002","003","004"]//获取集合中键的集合
for(Object obj:keys){
String key = (String)obj;
String value =map.get(key);
System.out.println(value);
}
System.out.println("------遍历2------");
Collection vals = map.values();//获取集合中值得集合
for(Object obj:vals){
String value = (String)obj;
System.out.println(value);
}
public static void demo2(){
//1.使用HashMap存储多组英文国家的简称和中文称的键值对
Map countries = new HashMap();
countries.put("CN", "中华人民共和国");
countries.put("FR", "法兰西共和国");
countries.put("US", "美利坚合众国");
countries.put("UK", "大不列颠与北爱尔兰联合王国");
//2.显示"CN"对应国家的中文名称
String country =(String)countries.get("CN");
System.out.println("CN对应的国家是:"+country);//CN对应的国家是:中华人民共和国
//3.显示集合中元素个数
System.out.println("Map中共有"+countries.size()+"数据组");//Map中共有4数据组
//4.俩次判断Map是否存在"FR"键
System.out.println("Map中包含FR的key吗?"+countries.containsKey("FR"));//Map中包含FR的key吗?true
countries.remove("FR");
System.out.println("移除键FR后,Map中包含FR的key吗?"+countries.containsKey("FR"));//移除键FR后,Map中包含FR的key吗?false
//5.分别显示键集.值集和键值对集
System.out.println(countries.keySet());//[UK, CN, US]
System.out.println(countries.values());//[大不列颠与北爱尔兰联合王国, 中华人民共和国, 美利坚合众国]
System.out.println(countries);//{UK=大不列颠与北爱尔兰联合王国, CN=中华人民共和国, US=美利坚合众国}
//3.清空HashMap并判断
countries.clear();
if(countries.isEmpty()){
System.out.println("已清空Map中数据");//已清空Map中数据
}
}