一、Map的体系结构
Map体系结构图.png

二、Map常用的方法
1、添加:
1.1、V put(K key, V value) (可以相同的key值,但是添加的value值会覆
盖前面的,返回值是前一个,如果没有就返回null)
1.2、putAll(Map<? extends K,? extends V> m) 从指定映射中将所有映射关
系复制到此映射中(可选操作)。
2、删除
2.1、remove() 删除关联对象,指定key对象
2.2、clear() 清空集合对象
3、获取
3.1:value get(key); 可以用于判断键是否存在的情况。当指定的键不存在的时候,返回的是null。
4、判断:
4.1、boolean isEmpty() 长度为0返回true否则false
4.2、boolean containsKey(Object key) 判断集合中是否包含指定的key
4.3、boolean containsValue(Object value) 判断集合中是否包含指定的value
5、获取长度:Int size()

三、Map常用实现类
1.HashMap
最常用的Map,它根据键的HashCode 值存储数据,根据键可以直接获取它的值,具有很快的访问速度。HashMap最多只允许一条记录的键为Null(多条会覆盖);允许多条记录的值为 Null。非同步的。

2.TreeMap
能够把它保存的记录根据键(key)排序,默认是按升序排序,也可以指定排序的比较器,当用Iterator 遍历TreeMap时,得到的记录是排过序的。TreeMap不允许key的值为null。非同步的。

3.LinkedHashMap
保存了记录的插入顺序,在用Iterator遍历LinkedHashMap时,先得到的记录肯定是先插入的.在遍历的时候会比HashMap慢。key和value均允许为空,非同步的。