Map接口特点:存放数据是以键值对的形式存放
下面是针对Map常用方法的一个简单应用
package day13_01;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class TestMap {
public static void main(String[] args) {
Map<String,String> map = new HashMap<String,String>();
//添加元素
map.put("CN", "中");
map.put("Af", "阿富汗");
map.put("Af", "阿富汗"); //键不可以重复 //就只以一个计数
map.put("Am", "美国");
map.put("US", "美国"); //值可以重复
//放重复的键就是覆盖
map.put("CN", "中国"); //键重复的,就是覆盖,以后面一个算数
System.out.println("当前键值对总数为:"+map.size()); //4
//根据键返回相关联的值
System.out.println("'US'键对应的值为:"+map.get("US"));
//删除指定的键映射的键值对
map.remove("Am");
System.out.println("删除'Am'键所对应的键值对");
System.out.println("当前键值对总数为:"+map.size());
System.out.println("是否包含键为'Adf'的键值对?"+map.containsKey("Adf")); //false
System.out.println("是否包含键为'Af'的键值对?"+map.containsKey("Af")); //true
System.out.println("--------------当前键值对的情况如下--------------:");
System.out.println("\n-----《一》、keySet方式遍历---------");
System.out.println("当前存在的值如下:");
Set<String> set = map.keySet(); //键以String类型存到Set集合中
for(String k :set) {
System.out.println(map.get(k));
}
System.out.println("当前存在的键如下:");
for(String k :set) {
System.out.println(k);
}
System.out.println("当前存在的键值对如下:");
for(String k :set) {
System.out.println(k+":"+map.get(k));
}
System.out.println("\n-------《二》、entry方式遍历------------");
Set<Map.Entry<String, String>> set2 = map.entrySet();
for(Map.Entry<String, String> entry:map.entrySet()){
System.out.println(entry.getKey()+":"+entry.getValue());
}
System.out.println("--------------");
Collection<String> collection = map.values();
System.out.println("\n(8)、目前存在的值如下:");
for(String value:collection) {
System.out.println(value);
}
}
}
运行结果如下:
当前键值对总数为:4
'US'键对应的值为:美国
删除'Am'键所对应的键值对
当前键值对总数为:3
是否包含键为'Adf'的键值对?false
是否包含键为'Af'的键值对?true
--------------当前键值对的情况如下--------------:
-----《一》、keySet方式遍历---------
当前存在的值如下:
阿富汗
中国
美国
当前存在的键如下:
Af
CN
US
当前存在的键值对如下:
Af:阿富汗
CN:中国
US:美国
-------《二》、entry方式遍历------------
Af:阿富汗
CN:中国
US:美国
--------------
(8)、目前存在的值如下:
阿富汗
中国
美国