import jdk.nashorn.internal.codegen.Compiler;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class TestMap1 {
public static void main(String[] args) {
Map map1 = new HashMap<>();
Map map2 = new HashMap<>();
map1.put(1,"狼人");
map1.put(2,"女巫");
map1.put(3,"预言家");
map1.put(4,"平民");
map1.put(5,"猎人");
map1.put(6,"守卫");
map1.put(null,null);//map集合中可以k值和v值都可以为null
System.out.println(map1);
//map1.clear();//---清除集合内所有值
System.out.println(map1.containsKey(50));//false---判断对应的k值是否存在
System.out.println(map1.containsValue("丘比特"));//false---判断对应的v值是否存在
System.out.println(map1.equals(map2));//false---判断集合1和集合2是否相等
System.out.println(map1.isEmpty());//false---判断集合1是否为空
System.out.println(map1.size());//7---获取Map中键的对数
System.out.println(map1.hashCode());//42764698---获取哈希码值
System.out.println(map1.remove(1));//删除键所对应的k和v
System.out.println(map1);
//两种结合的遍历方式
//方式一:把map中的key值存到set集合中,集合的泛型就是key的类型
Set keySet = map1.keySet();
Iterator it1 = keySet.iterator();
while (it1.hasNext()){
Integer key = it1.next();
String value = map1.get(key);
System.out.println("{"+key+"="+value+"}");
}
//方式二:把map中的k和v当做整体放入set集合中
Set> entry = map1.entrySet();
Iterator> it2 = entry.iterator();
while(it2.hasNext()){
Map.Entry entry1 = it2.next();
Integer key = entry1.getKey();
String value = entry1.getValue();
System.out.println("{"+key+","+value+"}");
}
}
}