Hashtable 模型并实现 Map 接口。此实现提供了所有可选的映射操作,并允许空值和空键。 HashMap 类大致相当于 Hashtable,只不过它是不同步的并且允许 null。此类不保证映射的顺序。它不保证顺序随着时间的推移保持不变。
类声明
java.util.HashMap 类的声明为:
public class HashMap<K,V>
extends AbstractMap<K,V>
implements Map<K,V>, Cloneable, Serializable
这里, K 和 V 分别是容器维护的键和值的类型。
序号 | 构造函数和描述 |
---|
1. | HashMap() 创建一个具有默认初始容量 (16) 和默认负载因子 (0.75) 的空 HashMap。 |
2. | HashMap(int initialCapacity) 创建一个空的HashMap,具有指定的初始容量和默认负载系数 (0.75)。 |
3. | HashMap(int initialCapacity, float loadFactor) 创建一个具有指定初始值的空 HashMap容量和负载系数。 |
4. | HashMap(Map<? extends K,? extends V> m) 创建一个新的 HashMap与指定的 Map 具有相同的映射。 |
java.util.HashMap 类有许多方法,如下所示:
序号 | 方法和描述 |
---|
1. | void clear() 清除map的所有映射。 |
2. | Object clone() 返回此 HashMap 实例的浅表副本:键和值本身不会被克隆。 |
3. | V compute(K key, BiFunction<? super K,? super V,? extends V> remappingFunction) 尝试计算指定键及其当前映射值的映射(如果没有当前映射,则为 null)。 |
4. | VcomputeIfAbsent(K key, Function<? super K,? extends V> mappingFunction) 如果指定的键尚未与值关联(或映射为 null),则尝试使用给定的映射函数计算其值并将其输入到此映射除非为空。 |
5. | VcomputeIfPresent(K key, BiFunction<? super K,? super V,? extends V> remappingFunction) 如果指定键的值存在且非空,则尝试计算给定键及其当前映射值的新映射。 |
6. | boolean containsKey(Object key) 如果此映射包含指定键的映射,则返回 true。 |
7. | boolean containsValue(Object value) 如果此映射将一个或多个键映射到指定值,则返回 true。 |
8. | Set<Map.Entry<K,V>> EntrySet() 返回此映射中包含的映射的集合视图。 |
9. | void forEach(BiConsumer<? super K, ? super V> action) 对此映射中的每个条目执行给定的操作,直到所有条目都已处理完毕或该操作引发异常。 |
10. | V get(Object key) 返回指定键映射到的值,如果此映射不包含该键的映射,则返回 null。 |
11. | V getOrDefault(Object key,V defaultValue ) 返回指定键映射到的值,如果此映射不包含该键的映射,则返回 defaultValue。 |
12。 | boolean isEmpty() 检查map是否为空。 |
13. | Set<K> keySet() 返回此映射中包含的键的集合视图。 |
14. | V 合并(K key,V value, BiFunction<? super V,? super V,? extends V> remappingFunction) 如果指定的键尚未与值关联或与 null 关联,则将其与给定的非 null 值关联。 |
15。 | V put(K key,V value) 将指定的值与映射中的指定的键关联起来。 |
16。 | void putAll(Map<? extends K, ? extends V> m) 将指定映射中的所有映射复制到此映射。 |
17. | V putIfAbsent(K key,V value) 如果指定的键尚未与值关联(或映射到 null),则返回 null 并将指定的键与给定值关联,否则返回当前值。 |
18. | V remove(Object key) 从此映射中删除指定键的映射(如果存在)。 |
19. | boolean remove(Object key,Object value) 仅当指定键当前映射到指定值时才删除该条目。 |
20。 | V replace(K key,V value) 仅当指定键当前映射到某个值时才替换该条目。 |
21。 | boolean replace(K key, V oldValue, V newValue) 仅当当前映射到指定值时才替换指定键的条目。 |
22。 | void ReplaceAll(BiFunction<? super K, ? super V,? extends V> function) 用在该条目上调用给定函数的结果替换每个条目的值,直到所有条目都已处理完毕或该函数引发异常。 |
23。 | int size() 返回映射中键值对的数量。 |
24。 | Collection<V> values() 返回此映射中包含的值的集合视图。 |
继承的方法
该类继承了以下类的方法:
- java.lang.Object
- java.util.AbstractMap<K,V>