WeakHashMap是Map接口的实现,该接口仅存储对其键的弱引用,当不再在WeakHashMap之外引用键值对时,仅存储弱引用将允许对键值对进行垃圾回收。
以下是WeakHashMap类支持的构造函数的列表。
Sr.No. | Constructor & Remark |
---|---|
1 | WeakHashMap() 此构造函数使用默认的初始容量(16)和默认的加载因子(0.75)构造一个新的空WeakHashMap。 |
2 | WeakHashMap(int initialCapacity) 此构造函数使用给定的初始容量和默认负载因子0.75构造一个新的空WeakHashMap。 |
3 | WeakHashMap(int initialCapacity,float loadFactor) 此构造函数使用给定的初始容量和给定的负载因子构造一个新的空WeakHashMap。 |
4 | WeakHashMap(Map t) 该构造函数构造一个新的WeakHashMap,其映射与指定的Map相同。 |
除了从其父类继承的方法之外,TreeMap还定义了以下方法-
Sr.No. | Method & Remark |
---|---|
1 | void clear() 从该Map中删除所有映射。 |
2 | boolean containsKey(Object key) 判断Map中是否包含key键 |
3 | boolean containsKey(Object value) 链接:https://www.learnfk.comhttps://www.learnfk.com/java/java-weakhashmap-class.html 来源:LearnFk无涯教程网 判断Map中是否包含value值 |
4 | Set entrySet() 返回Set集合 |
5 | Object get(Object key) 根据键(key)返回关联的值。 |
6 | boolean isEmpty() 判断是否为空 |
7 | Set keySet() 返回包含key键的Set集合 |
8 | Object put(Object key,Objet value) 往Map中写入key/value值 |
9 | void putAll(Map m) 将m元素写入当前Map中 |
10 | Object remove(Object key) 从Map中删除Key关联的对象 |
11 | int size() 返回当前Map大小数 |
12 | Collection values() 返回包含value集合 |
以下程序说明了此集合支持的几种方法-
import java.util.*; public class WeakHashMap_Demo { private static Map map; public static void main (String args[]) { map = new WeakHashMap(); map.put(new String("Maine"), "Augusta"); Runnable runner = new Runnable() { public void run() { while (map.containsKey("Maine")) { try { Thread.sleep(500); } catch (InterruptedException ignored) { } System.out.println("Thread waiting"); System.gc(); } } }; Thread t = new Thread(runner); t.start(); System.out.println("Main waiting"); try { t.join(); } catch (InterruptedException ignored) { } } }
这将产生以下输出-
Main waiting Thread waiting
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)