Java WeakHashMap 类
Java.util 包中有一个 WeakHashMap 类,它是一个基于哈希表的 Map 实现,具有弱功能键。当 WeakHashMap 中的某个条目的键不再被日常使用时,该条目将自动被删除。此类支持空值和空键。该类具有与HashMap类类似的性能特征,并且具有相同的初始容量和负载因子的效率参数。与大多数集合类一样,此类不是同步的。此类主要用于关键对象,其 equals 方法使用 == 运算符测试对象标识。 WeakHashMap 中的每个键对象都间接存储为弱引用的指示对象。该类是 Java Collections Framework 的成员。
类声明
java.util.WeakHashMap 类的声明为:
public class WeakHashMap<K,V>
extends AbstractMap<K,V>
implements Map<K,V>
这里,K 和V 是容器分别维护的键和值的类型。
类构造函数
序号 | 构造函数和描述 |
---|---|
1. | WeakHashMap() 使用默认初始容量 (16) 和负载因子 (0.75) 构造一个新的空 WeakHashMap。 |
2. | WeakHashMap(int initialCapacity) 使用给定的初始容量构造一个新的、空的 WeakHashMap和默认负载因子 (0.75)。 |
3. | WeakHashMap(int initialCapacity, float loadFactor) 构造一个新的、空的 WeakHashMap,其中给定初始容量和给定负载系数。 |
4. | WeakHashMap(Map<? extends K,? extends V> m) 构造一个新的 WeakHashMap具有与指定映射相同的映射。 |
java.util.WeakHashMap 方法
java.util.WeakHashMap 类有许多方法,如下所示:
成员方法
序号 | 方法和描述 |
---|---|
1. | void clear() 从此映射中删除所有映射。 |
2. | boolean containsKey(Object key) 如果此映射包含指定键的映射,则返回 true。 |
3. | boolean containsValue(Object value) 如果此映射将一个或多个键映射到指定值,则返回 true。 |
4. | Set<Map.Entry<K,V>> EntrySet() 返回此映射中包含的映射的集合视图。 |
5. | void forEach(BiConsumer<? super K, ? super V> action) 对此映射中的每个条目执行给定的操作,直到所有条目都已处理完毕或该操作引发异常。 |
6. | V get(Object key) 返回指定键映射到的值,如果此映射不包含该键的映射,则返回 null。 |
7. | boolean isEmpty() 如果此映射不包含键值映射,则返回 true。 |
8. | Set<K> keySet() 返回此映射中包含的键的集合视图。 |
9. | V put(K key,V value) 将指定的值与此映射中的指定的键相关联。 |
10。 | void putAll(Map<? extends K, ? extends V> m) 将指定映射中的所有映射复制到此映射。 |
11. | V remove(Object key) 从此弱哈希映射中删除键的映射(如果存在)。 |
12。 | void ReplaceAll(BiFunction<? super K, ? super V,? extends V> function) 用在该条目上调用给定函数的结果替换每个条目的值,直到所有条目都已处理完毕或该函数引发异常。 |
13。 | int size() 返回此映射中键值映射的数量。 |
14。 | Collection<V> values() 返回此映射中包含的值的集合视图。 |
继承的方法
该类继承了以下类的方法:
- java.lang.Object
- java.util.AbstractMap<K,V>