Java 简明教程

Java WeakHashMap Class

Introduction

Java WeakHashMap 类是基于散列表的 Map 实现,其具有弱键。如果不再使用其键,则垃圾回收器将自动删除 WeakHashMap 中的条目。以下是有关 WeakHashMap 的重点 −

  1. 既支持空值,也支持空键。

  2. 像大多数集合类一样,此类也没有同步。

  3. 此类主要是针对使用键对象而设计的,该键对象的 equals 方法测试使用 == 运算符的对象标识。

  4. WeakHashMap 中的每个键对象都以弱引用的引用方式间接存储。

  5. 此类是 Java 集合框架的成员。

Class declaration

以下是 java.util.WeakHashMap 类的声明 -

public class WeakHashMap<K,V>
   extends AbstractMap<K,V>
   implements Map<K,V>

此处 <K> 是此映射维护的键的类型,而 <V> 是映射值的类型。

Class constructors

Class methods

Methods inherited

此类从以下类中继承方法:

  1. java.util.AbstractMap

  2. java.lang.Object

  3. java.util.Map

Adding a Key-Value Pair to a WeakHashMap of Integer, Integer Pairs Example

以下示例展示了在映射中放置少数值的 Java WeakHashMap put() 方法的用法。我们创建了一个整数、整数对的映射对象。接着使用 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);
   }
}

Output

让我们编译并运行以上的程序,这会生成以下结果:

Map elements: {3=3, 2=2, 1=1}