public static void main(String[] args) {
HashMap map = new HashMap();
//添加键值对元素,无序的
map.put(1,"张三");
map.put(2,"李四");
map.put(3,"王五");
System.out.println(map);//{1=张三, 2=李四, 3=王五}
//获取元素个数
System.out.println(map.size());//3
//根据键获取对应的值
System.out.println(map.get(2));
//根据键修改对应的值,map中不允许相同的键存在,相同的键值替换
map.put(2,"赵六");
System.out.println(map);
//根据键替换对应的元素值,返回被替换的值
System.out.println(map.replace(2, "李四"));
System.out.println(map);
//根据键删除元素
System.out.println(map.remove(2));
System.out.println(map);
/*
//清空所有元素
map.clear();
System.out.println(map);
*/
//获取map中所有的键
Set set = map.keySet();
System.out.println(set);
//获取map中所有的值
Collection values = map.values();
System.out.println(values);
//获取map中所有的键值对
Set entrySet = map.entrySet();
System.out.println(entrySet);
//遍历entrySet集合
for(Object o:entrySet){
//entry就是具体的键值对元素
Map.Entry entry = (Map.Entry)o;
System.out.println(entry.getKey()+"<------>"+entry.getValue());
}
//是否包含指定的键
System.out.println(map.containsKey(1));
//是否包含指定的值
System.out.println(map.containsValue("王五"));
}
/**
* HashMap支持null键和null值,线程不安全,速度快,实现了Map接口,继承AbstractMap
* Hashtable不支持null键和null值,线程安全,速度慢,实现了Map接口,继承了Dictionary
*/