一、概述
java.util.Map<K, V>集合,里面保存的数据是成对存在的,称之为双列集合,双列集合一次存两个元素。存储的数据,我们称为键值对。Collection集合中元素是单个单个存在的,称为单列集合,单列集合一次存一个元素。Map集合有如下特点
Map<K, V> // K:键的数据类型;V:值的数据类型
- 键不能重复,值可以重复
- 键和值是一一对应的,通过键可以找到对应的值
- (键 + 值)一起是一个整体,我们称之为"键值对"或者"键值对对象",在Java中叫做"Entry对象";
二、使用场景
凡是要表示一一对应的数据时就可以。
比如
- 学生的学号和姓名
- 1001 张三
- 1002 李四
- 电影的关系
- 王宝强 人在囧途
- 谢霆锋 新少林寺
三、HashMap
此前的HashSet底层实现就是HashMap完成的,HashSet保存的元素其实就是HashMap集合汇总保存的键,底层结构是哈希表结构,具有去重、无序特点。
四、LinkedHashMap
底层结构是有链表和哈希表结构,去重、有序
五、TreeMap
底层是有红黑树,去重、排序。
六、常用方法
6.1、put
public V put(K key, V value)
把指定的键与指定的值添加到Map集合中。
6.2、remove
public V remove(Object key)
把指定的键所对应的键值对元素在Map集合中删除,返回被删除元素的值。
6.3、get
public V get(Object key)
根据指定的键,在Map集合中获取对应的值。
6.4、Set
public Set<K> keySet()
获取Map集合中所有的键,存储到Set集合中。
6.5、containKey
public boolean containKey(Object key)
判断该集合中是否有此键