public class HashMap {
public static void main(String[] args){
/*Map接口*/
/*HashMap*/
//创建HashMap容器实例
//需要为key与value声明类型
Map<String,String> q = new java.util.HashMap<>();
//当HashMap容器中已经存在对应的key时,则返回key对应数据类型的默认值,string对应null
String EE = q.put("a", "A");
System.out.println(EE); //null
//当HashMap容器中已经存在对应的key时,则返回对应key的就value值
String PP = q.put("a", "B");
System.out.println(PP); //A
System.out.println("-------获取hashmap容器中的value值(第一种)-------");
//使用get(object key)方法获取key对应的value值
String a = q.get("a");
System.out.println(a); //B
String c = q.get("c");
System.out.println(c); //null
String c1 = q.put("c", null);
System.out.println(c1); //null 已经放入了
System.out.println(q.get("c")); //null 放入的是空值
System.out.println("-------获取hashmap容器中的value值(第二种)-------");
q.put("b","C");
q.put("c","D");
q.put("d","E");
q.put("e","F");
q.put("f","G");
//使用set容器装载hashmap容器中的key
Set<String> w = q.keySet();
//遍历set容器,就可全部打印hashmap容器中的key
for (String s : w) {
System.out.println("Key "+s+"\t"+"value "+q.get(s));
}
//Key a value B
//Key b value C
//Key c value D
//Key d value E
//Key e value F
//Key f value G
System.out.println("--------获取hashmap容器中的value值(第三种)-------");
//使用entrySet()方法遍历hashmap容器中元素
Set<Map.Entry<String, String>> entries = q.entrySet();
for (Map.Entry<String, String> entry : entries) {
String key = entry.getKey();
String value = entry.getValue();
System.out.println(key+"------"+value);
}
System.out.println("--------两个hashmap容器的并集操作--------");
//创建另一个hashmap容器类
Map<String, String> s = new java.util.HashMap<>();
s.put("xinzeng","新增");
//并集操作时,如果key值相同,则被并的value会覆盖原容器中的value值
s.putAll(q);
Set<String> d = s.keySet();//把s的key值全部拿出,编程一个set集合
for (String s1 : d) {
System.out.println("key "+s1+" value "+s.get(s1));
}
//Key a value B
//Key b value C
//Key c value D
//Key d value E
//Key e value F
//Key f value G
//Key xingzeng value 新增
System.out.println("--------删除hashmap容器中的元素--------");
//删除容器中元素,remove()方法中参数为key值
String remove = s.remove("a");
System.out.println(remove); //返回的是被删掉的value值
//拿到s容器中的所有key,放入set集合中
Set<String> h = s.keySet();
for (String s1 : h) {
System.out.println("key "+s1+" value "+s.get(s1));
//Key b value C
//Key c value D
//Key d value E
//Key e value F
//Key f value G
//Key xingzeng value 新增
}
System.out.println("--------判断一个key是否在容器中存在--------");
boolean a1 = s.containsKey("a"); //不存在指定key,返回false
boolean b = s.containsKey("b"); //存在指定key,返回true
System.out.println(a1); //false
System.out.println(b); //true
boolean g = s.containsValue("G"); //判断是否存在value值,存在返回true
boolean m = s.containsValue("有吗");//判断是否存在value值,不存在返回false
System.out.println(g); //true
System.out.println(m); //false
}
}