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>