package Map;
import java.util.*;
public class TesrtHashMap {
public static void main(String[] args) {
//HashMap是map的一个实现类,还有treemap
HashMap map1 = new HashMap();
//Integer是键的类型,string是值得类型
//向上转型
Map<Integer, String> map3 = new HashMap<Integer,String>();
//指定容量,默认是16
HashMap map4 = new HashMap(32);
//给map添加数据,put方法
map3.put(1001, "彭妈妈");
map3.put(1002, "习大大");
map3.put(1003, "普京大帝");
map3.put(1004, "毛爷爷");
map3.put(null,"空的key值");
System.out.println("map3中的元素的个数为"+map3.size());
//获取单个元素get()
System.out.println(map3.get(1001));
System.out.println(map3.get(1002));
//如何遍历map,两种方法:keyset,entryset
//通过keyset获取一个set的键的集合
Set<Integer> keySet= map3.keySet();
Iterator it= keySet.iterator();
while (it.hasNext()) {
Integer k=(Integer) it.next();
System.out.println("keyset取出来的对象"+map3.get(k));
}
//通过for循环加强版遍历
for (Integer I : keySet) {
System.out.println("for循环加强版遍历出来的"+map3.get(I));
}
//通过entryset遍历,该方法返回的是一种映射关系
Set<Map.Entry<Integer, String>> entryset=map3.entrySet();
for (Map.Entry<Integer, String> entry : entryset) {
System.out.println("entryset+for循环加强版"+entry.getKey()+"--"+entry.getValue());
}
//通过迭代器
Iterator<Map.Entry<Integer, String>> iterator=entryset.iterator();
while (iterator.hasNext()) {
Map.Entry<Integer, String> entry1=iterator.next();
System.out.println("entryset+迭代器循环加强版"+entry1.getKey()+"--"+entry1.getValue());
}
System.out.println("删除之前还在 吗"+map3.containsKey(1001));
//删除元素,map中删除元素有返回值,返回值是删除的元素,也是对象
String reString=map3.remove(1001);
System.out.println(reString);
System.out.println("删除元素之后集合的长度"+map3.size());
//判断某个key是否存在集合中
System.out.println("删除以后还在 吗"+map3.containsKey(1001));
//判断吧某个值是否存在map中
System.out.println(map3.containsValue("魔笛"));
System.out.println(map3.toString());
}
}