目录
一、Map的定义
属于java.util.Map
-
Map 接口不是 Collection 的子接口,使用键、值映射表来存储
-
Map 不能有重复的键(覆盖),每个键可以映射到最多一个值
-
允许将映射内容视为一组键、值集合或键值映射集合
-
key 不要求有序,不可以重复。 value 也不要求有序,但可以重复
-
当使用对象作为 key 时,要重写 equals 和 hashCode 方法
二、Map的方法
方法 | 返回值 | 描述 |
---|---|---|
clear() | void | 删除所有的映射 |
containsKey(Object key) | boolean | 判断Map中是有没有这个key |
containsValue(Object value) | boolean | 判断Map有没有这个value |
entrySet() | Set<Map.Entry<K,V>> | 返回包含的映射的Set |
get(Object key) | V | 根据key返回对应的value |
isEmpty() | boolean | 判断Map是不是空的 |
keySet() | Set<K> | 返回Map中所有key的Set |
put(K key, V value) | V | 向Map添加映射 |
putAll(Map<? extends K,?extends V> m) | void | 将指定Map中的映射复制到此映射 |
remove(Object key) | V | 如果key存在,删除映射 |
remove(Object key, Object value) | boolean | 当key、value映射存在时,删除 |
replace(K key, V value) | boolean | 当key存在时,替换内容 |
size() | int | Map中映射的数量 |
values() | Collection<V> | 返回所有value的集合 |
三、JDK9
提供了创建不可修改 Map 对象的方法:
1. Map.of
2. Map.ofEntries
3. Map.copyOf
</