Map简介
Java集合系列
Map(映射)
一. Map<K,V>
-
Map是映射的顶级接口,实现类主要有:HashMap(重点) HashTable(面试)。
-
特点:
- 将键映射到值的对象(键值对)
- 键唯一,值不唯一。即一个键只能映射一个值,一个值可以对应多个键。
- 键值对在map中以entry结构储存。
- 无法保证元素的存入顺序
-
主要方法:
-
V put(K key,V value)
将指定的值与此映射中的指定键关联(可选操作)。
如果当前map中没有要放入的这个元素的键,可以直接添加到map中,返回NUll;
如果当前map中对于要放入的元素的键已经存在了,则用新的值将原来该键对应的值覆盖掉,返回旧值;
-
Void clear()
从此映射中移除所有映射关系。
-
Boolean containsKey(Object Key)
如果此映射包含指定键的映射关系,则返回 true
-
boolean containsValue(Object value)
如果此映射将一个或多个键映射到指定值,则返回 true
-
V get(Object key)
返回指定键所映射的值;
如果此映射不包含该键的映射关系,则返回 null。
-
boolean isEmpty()
如果此映射未包含键-值映射关系,则返回 true。
-
void putAll(Map<? extends K,? extends V> m)
从指定映射中将所有映射关系复制到此映射中(可选操作)。
-
V remove(Object key)
如果存在一个键的映射关系,则将其从此映射中移除。
-
Set
keySet() 返回此映射中包含的键的 Set 视图。
-
Set<Map.Entry<K,V>> entrySet()
返回此映射中包含的映射关系的 Set 视图
-
-
遍历
-
keySet获取到所有的key,遍历key,根据key去查找当前key对应的值
Set<Integer> keys = map.keySet(); for (int i:keys) { System.out.println(i+":"+map.get(i)); }
-
使用entrySet方法来获取Entry的set集合,遍历set集合。调用Entry中的方法获取当前Entry的key和value
Set<Map.Entry<Integer, String>> entries = map.entrySet(); for (Map.Entry<Integer, String> entry:entries) { System.out.println(entry.getKey()+":"+entry.getValue()); }
-