Java 中的 WeakHashMap 类函数

首页 / Java入门教程 / Java 中的 WeakHashMap 类函数

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)

判断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集合

Weakhashmap 示例

以下程序说明了此集合支持的几种方法-

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

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

TensorFlow快速入门与实战 -〔彭靖田〕

网络编程实战 -〔盛延敏〕

JavaScript核心原理解析 -〔周爱民〕

Serverless入门课 -〔蒲松洋(秦粤)〕

打造爆款短视频 -〔周维〕

程序员的测试课 -〔郑晔〕

HarmonyOS快速入门与实战 -〔QCon+案例研习社〕

Serverless进阶实战课 -〔静远〕

Midjourney入门实践课 -〔Jovi〕

好记忆不如烂笔头。留下您的足迹吧 :)