目录
5.Map集合(双列集合)
1.Map概述
- Map集合是一种双列集合,每个元素包含两个数据。 java.util.Map接口,是双列集合的顶级接口。
- Map集合的每个元素的格式:key=value(键值对元素)。用于保存具有映射关系的数据。
- Map集合也被称为“键值对集合”。
- Map集合的完整格式:{key1=value1 , key2=value2 , key3=value3 , ...}
特点:
1. 用于存储任意键值对(key - value)
2. 键:无序、无下标、不允许重复(唯一)
3. 值:无序、无下标、允许重复4.Map集合后面重复的键对应的值会覆盖前面重复键的值;Map集合的键值对都可以为null。
方法:
方法名称 | 说明 |
---|---|
V put(K key, V value) | 向Map集合中添加键-值对(若存在则覆盖) |
Object get(Object key) | 根据键获得(返回)对应的值 |
V remove(Object key-value) |
从Map集合中删除key对应的键-值对 |
void clear() |
删除该Map对象中的所有的键-值对 |
boolean containsKey(Object key) |
查询Map中是否包含指定的key |
boolean containsValue(Object value) |
查询Map中是否包含一个或多个value |
Collection<V> values() | 返回包含所有值的Collection集合 |
boolean isEmpty() |
查询该Map是否为空(即不包含任何键-值对) |
int size() |
集合的长度,也就是Map中键-值对的个数 |
Set<K> | 返回所有的Key |
Set<Map.Entry<K, V>> | 键值匹配的Set集合 |
2.Map接口使用
添加元素相同键只有一个,相同键的最后一个键的值覆盖掉前面键的值
添加元素相同值不限制重复
删除元素只能删除键,删除值无效(不会显示错误,但是删不掉东西)
Map的遍历方式与Collection不同
判断键和值都可以:containsKey、containsValue
创建集合:HashMap<String, String> map = new HashMap<>();
遍历:
Set<String> keyset = map.keySet();//查询键,来返回值(键找值)
Set<Map.Entry<String, String>> entries = map.entrySet();//查询键和值,返回键和值(键值对)
lambda表达式
方法名称 | 说明 |
---|---|
Set<K> keySet() |
获取所有键的集合 |
V get(Object key) |
根据键获取值 |
方法名称 | 说明 |
---|---|
Set<Map.Entry<K,V>> entrySet() |
获取所有键值对对象的集合 |
K getKey() |
获得键 |
V getValue() |
获得值 |
方法名称 | 说明 |
---|---|
default void forEach(BiConsumer<? super K, ? |