![0762a4755a14289e0839811e38c5724d.png](https://img-blog.csdnimg.cn/img_convert/0762a4755a14289e0839811e38c5724d.png)
第三阶段 JAVA常见对象的学习
集合框架——Map集合
![cb6cf7795ebffaf656247a896b155836.png](https://img-blog.csdnimg.cn/img_convert/cb6cf7795ebffaf656247a896b155836.png)
在实际需求中,我们常常会遇到这样的问题,在诸多的数据中,通过其编号来寻找某一些信息,从而进行查看或者修改,例如通过学号查询学生信息。今天我们所介绍的Map集合就可以很好的帮助我们实现这种需求
(一) 概述及功能
(1) 概述
Map是一种存储元素对的集合(元素对分别称作 键 和 值 也称键值对)它将键映射到值的对象。一个映射不能包含重复的键,并且每个键最 多只能映射到一个值。
怎么理解呢?
键 (key):就是你存的值的编号 值 (value):就是你要存放的数据
你可以近似的将键理解为下标,值依据键而存储,每个键都有其对应值。这两者是1、1对应的
但在之前下标是整数,但是Map中键可以使任意类型的对象。
Map集合和Collection集合的区别?
- Map集合存储元素是成对出现的,Map集合的键是唯一的,值是可重复的
- Collection集合存储元素是单独出现的,Collection的子类Set是唯一的,List是可重复的。
- Map集合的数据结构值针对键有效,跟值无关,Collection集合的数据结构是针对元素有效
(2) 功能
A:添加功能
//添加元素
V put(K key,V value)
//如果键是第一次存储,就直接存储元素,返回null
//如果键不是第一次存在,就用值把以前的值替换掉,返回以前的值
B:删除功能
//移除所有的键值对元素
void clear()
//根据键删除键值对元素,并把值返回
V remove(Object key)
C:判断功能
//判断集合是否包含指定的键
boolean containsKey(Object key)
//判断集合是否包含指定的值
boolean containsValue(Object value)
//判断集合是否为空
boolean isEmpty()
D:获取功能
//将map集合中的键和值映射关系打包为一个对象
Set<Map.Entry<K,V>> entrySet()
//根据键获取值
V get(Object key)
//获取集合中所有键的集合
Set<K> keySet()
//获取集合中所有值的集合
Collection<V> values()
E:长度功能
//返回集合中的键值对的对数
int size()
(二) Map集合的遍历
package cn.bwh_01_iterator;
import java.util.HashMap;
import java.ut