1.Map<K,V> Map集合有两个泛型 K:叫做键 V:叫做值
类型参数:
K key
- 此映射所维护的键的类型
V
value- 映射值的类型
public interface Map<K,V>
将键映射到值的对象。一个映射不能包含重复的键(就是K不能重复);每个键最多只能映射到一个值(键和值一一对应的关系)
Collection是单列集合 Map是双列集合
1) Collection中的集合,元素是孤立存在的(理解为单身)同集合中存储元素采用一个个元素的方式存储;
2)Map中的集合,元素是成对存在的(理解为夫妻),每个元素由键和值两部分组成,通过键可以找到所对应的值;
3)Collection是单列集合,Map是双列集合(每个元素由键和值两部分组成通过键可以找到所对应的值)
4)键是唯一的 value可以重复 每个键只能对应一个值 (一夫一妻制)
java.util.Map<k,v>集合 Map集合的特点: 1.Map集合是一个双列集合,一个元素包含两个值(一个key键 一个值value) 2.Map集合中的元素,key和value的数据类型可以相同也可以不同 3.Map集合中的元素Key不允许重复 value可以重复 4.Map集合中的元素,key和value是一一对应的
2.Map接口常用实现类
HashMap<K,V> 底层是哈希表结构 多线程速度快
HashMap的子类LinkedHashMap<K,V>
java.util.Map<k,v>集合 Map集合的特点: 1.Map集合是一个双列集合,一个元素包含两个值(一个key键 一个值value) 2.Map集合中的元素,key和value的数据类型可以相同也可以不同 3.Map集合中的元素Key不允许重复 value可以重复 4.Map集合中的元素,key和value是一一对应的 Java.util.HashMap<k,v>集合 implements 实现Map(k.v)接口 HashMap<k,v>集合特点: 1.底层是哈希表,查询速度快 jdk1.8之前是数组+单向链表 jdk1.8之后是数组+单向链表或红黑树(链表长度超过8用红黑树) 2.HashMap<k,v>集合是无序集合,存储元素和取出元素的顺序可能不一致 java.util.LinkedHashMap<k,v>集合 extends 继承了HashMap<k,v>集合 LinkedHashMap<k,v>集合特点: 1.LinkedHashMap<k,v>集合底层是哈希表+链表 2.LinkedHashMap<k,v>集合是一个有序集合,存储元素和取出元素顺序是一致的
3.Map接口中的常用方法
public V put(K key, V value)把指定的键和指定的值添加到Map集合中 public V remove(Object key) :把指定的键所对应的键值对元素 在Map集合中删除,返回被删除元素的值。 public V get(Object key) :根据指定的键,在Map集合中获取对应的值 boolean containsKey(Object key); 判断集合中是否包含指定的key键
public V put(K key, V value)把指定的键和指定的值添加到Map集合中
返回值:v 存储键值对的时候,key不重复返回值v是null 存储键值对的时候,key重复,会使用新的value替换map中重复的value,返回被替换的value值
public V remove(Object key) :把指定的键所对应的键值对元素 在Map集合中删除,返回被删除元素的值。
返回值:V key存在,v返回被删除的值 key不存在,v返回null
public V get(Object key) :根据指定的键,在Map集合中获取对应的值
key存在 返回对应的value key不存在 返回null
boolean containsKey(Object key); 判断集合中是否包含指定的key键
包含返回true 不包含返回false