- Java.util 包类
- Java.util - 首页
- Java.util - ArrayDeque
- Java.util - ArrayList
- Java.util - Arrays
- Java.util - BitSet
- Java.util - Calendar
- Java.util - Collections
- Java.util - Currency
- Java.util - Date
- Java.util - Dictionary
- Java.util - EnumMap
- Java.util - EnumSet
- Java.util - Formatter
- Java.util - GregorianCalendar
- Java.util - HashMap
- Java.util - HashSet
- Java.util - Hashtable
- Java.util - IdentityHashMap
- Java.util - LinkedHashMap
- Java.util - LinkedHashSet
- Java.util - LinkedList
- Java.util - ListResourceBundle
- Java.util - Locale
- Java.util - Observable
- Java.util - PriorityQueue
- Java.util - Properties
- Java.util - PropertyPermission
- Java.util - PropertyResourceBundle
- Java.util - Random
- Java.util - ResourceBundle
- Java.util - ResourceBundle.Control
- Java.util - Scanner
- Java.util - ServiceLoader
- Java.util - SimpleTimeZone
- Java.util - Stack
- Java.util - StringTokenizer
- Java.util - Timer
- Java.util - TimerTask
- Java.util - TimeZone
- Java.util - TreeMap
- Java.util - TreeSet
- Java.util - UUID
- Java.util - Vector
- Java.util - WeakHashMap
- Java.util 包扩展
- Java.util - 接口
- Java.util - 异常
- Java.util - 枚举
- Java.util 有用资源
- Java.util - 有用资源
- Java.util - 讨论
Java WeakHashMap 类
简介
Java WeakHashMap 类是基于哈希表的 Map 实现,具有弱键。当 WeakHashMap 中的键不再使用时,垃圾收集器会自动删除该键对应的条目。以下是关于 WeakHashMap 的重要要点:
支持 null 值和 null 键。
与大多数集合类一样,此类也不是同步的。
此类主要用于键对象,其 equals 方法使用 == 运算符测试对象标识。
WeakHashMap 中的每个键对象都作为弱引用的引用对象间接存储。
此类是 Java 集合框架的成员。
类声明
以下是 java.util.WeakHashMap 类的声明:
public class WeakHashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>
这里 <K> 是此映射维护的键的类型,<V> 是映射值的类型。
类构造函数
序号 | 构造函数及描述 |
---|---|
1 | WeakHashMap() 此构造函数用于创建一个空的 WeakHashMap,具有默认初始容量 (16) 和加载因子 (0.75)。 |
2 | WeakHashMap(int initialCapacity) 此构造函数用于创建一个空的 WeakHashMap,具有给定的初始容量和默认加载因子 (0.75)。 |
3 | WeakHashMap(int initialCapacity, float loadFactor) 此构造函数用于创建一个空的 WeakHashMap,具有给定的初始容量和给定的加载因子。 |
4 | WeakHashMap(Map<? extends K,? extends V> m) 此构造函数用于创建一个新的 WeakHashMap,其映射与指定的映射相同。 |
类方法
序号 | 方法及描述 |
---|---|
1 | void clear()
此方法删除此映射中的所有映射。 |
2 | boolean containsKey(Object key)
如果此映射包含指定键的映射,则此方法返回 true。 |
3 | boolean containsValue(Object value)
如果此映射将一个或多个键映射到指定值,则此方法返回 true。 |
4 | Set<Map.Entry>K,V>> entrySet()
此方法返回此映射中包含的映射的 Set 视图。 |
5 | v get(Object key)
此方法返回指定键映射到的值,如果此映射不包含键的映射,则返回 null。 |
6 | boolean isEmpty()
如果此映射不包含键值映射,则此方法返回 true。 |
7 | Set<K> keySet()
此方法返回此映射中包含的键的 Set 视图。 |
8 | v put(K key, V value)
此方法将指定的值与此映射中的指定键关联。 |
9 | void putAll(Map<? extends K,? extends V> m)
此方法将指定映射中的所有映射复制到此映射。 |
10 | v remove(Object key)
如果存在,此方法从此弱哈希映射中删除键的映射。 |
11 | int size()
此方法返回此映射中键值映射的数量。 |
12 | Collection<V> values()
此方法返回此映射中包含的值的 Collection 视图。 |
继承的方法
此类继承自以下类:
- java.util.AbstractMap
- java.lang.Object
- java.util.Map
向 Integer、Integer 对的 WeakHashMap 添加键值对示例
以下示例显示了 Java WeakHashMap put() 方法的使用,用于将一些值放入 Map 中。我们创建了一个 Integer、Integer 对的 Map 对象。然后使用 put() 方法添加了一些条目,然后打印映射。
package com.tutorialspoint; import java.util.WeakHashMap; public class WeakHashMapDemo { public static void main(String args[]) { // create hash map WeakHashMap<Integer,Integer> newmap = new WeakHashMap<>(); // populate hash map newmap.put(1, 1); newmap.put(2, 2); newmap.put(3, 3); System.out.println("Map elements: " + newmap); } }
输出
让我们编译并运行上述程序,这将产生以下结果。
Map elements: {3=3, 2=2, 1=1}