Map集合源码分析
Map总览:https://blog.csdn.net/weixin_39579209/article/details/98857018
HashMap:https://blog.csdn.net/weixin_39579209/article/details/98857110
TreeMap:https://blog.csdn.net/weixin_39579209/article/details/98858223
ConcurrentHashMap:https://blog.csdn.net/weixin_39579209/article/details/98858602
Map总览
Map体系结构如下图
一、Map集合特点:
将键映射到值的对象;键不能重复;每个键只能映射到一个值。
二、Map和Collection的区别:
1、Map集合存储元素是成对出现的,Map的键是唯一的,值不唯一。
2、Collectoin集合存储元素是单独的,Collection的子接口Set元素唯一,List元素可重复。
3、要点:
Map集合的数据结构针对键有效,与值关系不大。
Collection集合的数据结构针对元素有效。
三、Map的功能
1、添加功能:
V put(K key, V value):添加元素
如果时第一次存储该元素,就直接存储元素,返回null。
如果不是第一次存储,更新原有值,并返回原有值。
2、删除功能:
V remove(Object key):删除元素,并返回原有值。
删除情况:key == null ? k == null : key.equals(k)
3、判断功能:
boolean containsKey(Object key):是否包含该key,包含返回true,否则返回false
boolean containsValue(Object value):判断集合是否包含指定的value值
boolean isEmpty():判断是否为空
4、获取功能:
Set<Map.Entry<K key, V value>> entrySet():返回键值对对象的结合
V get(Object key):根据键查找值
Set keySet():获取所有键组成的集合
Collection values():获取所有值组成的集合。
5、长度功能:
int size():获取当前集合大小(键值对数量)。