首页 > 编程语言 >无涯教程-Java - WeakHashMap 类函数

无涯教程-Java - WeakHashMap 类函数

时间:2023-12-19 13:31:31浏览次数:42  
标签:WeakHashMap Java Thread Map Object 无涯 key 构造函数

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

参考链接

https://www.learnfk.com/java/java-weakhashmap-class.html

标签:WeakHashMap,Java,Thread,Map,Object,无涯,key,构造函数
From: https://blog.51cto.com/u_14033984/8887737

相关文章

  • 无涯教程-Java - TreeMap 类函数
    TreeMap类通过使用树来实现Map接口。TreeMap提供了一种有效的方式来按排序顺序存储键/值对,并允许快速检索。以下是TreeMap类支持的构造函数的列表。Sr.No.Constructors&Remark1TreeMap()此构造函数构造一个空的树Map,将使用其键的自然顺序对其进行排序。2TreeMap(......
  • JavaScript 文件优化指南
    本文将探讨实用的JavaScript文件优化技术、如何处理与JavaScript文件相关的性能问题以及帮助优化过程的工具。你将获得提升web应用程序速度的相关知识,从而为你的用户提供无缝体验。JavaScript文件是web应用程序的重要组成部分,但网站速度和用户体验对网站的成功至关重要。......
  • JavaScript 执行上下文
    一旦整个JavaScript程序运行,就会创建执行上下文。全局执行上下文已创建。它有两个组件,变量环境和变量。执行线程,它分两个阶段创建。第一阶段,是创建阶段。在创建阶段,我们为全局空间内的所有变量和函数分配内存。我们分配了一个未定义的变量。对于函数,我们实际上存储整个函数。这......
  • java 常用的包
    org.apache.commons.lang.StringUtils常用方法<dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId><version>3.4</version></dependency>示例:import......
  • Linux安装nacos 启动报错解决: which: no javac in (/usr/local/sbin:/usr/local/bin:
    报错信息:which:nojavacin(/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)readlink:缺少操作数Try'readlink--help'formoreinformation.dirname:缺少操作数Try'dirname--help'formoreinformation.ERROR:PleasesettheJAVA_HOME......
  • Java-并发编程-03深入理解并发编程概念以及相关关键字
    浅入并发编程三个核心概念在并发编程中,我们通常会遇到以下三个问题:原子性问题,可见性问题,有序性问题。我们先看具体看一下这三个概念:1.原子性原子性:即一个操作或者多个操作要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行。举个最简单的例子,大家想一下假如为一......
  • 游刃有余:玩转Java泛型
    Java中的泛型提供了一种创建可以处理不同类型数据的可重用代码的方法。它允许用户定义可操作各种数据类型的类、接口和方法,而无需牺牲类型安全性。在Java5中引入的泛型已经成为Java编程语言的一个基本特性。在Java引入泛型之前,它使用原始类型来允许将各种类型的对象存储在......
  • Java面向对象程序设计(上海交通大学出版社)12章及以后的课后问题解析
    1)Map集合和Collection集合的区别是什么? Map集合和Collection集合都是Java集合框架中的接口,它们之间有一些关键的区别:元素存储方式:Collection:用于存储单一元素的集合接口。它继承自Iterable接口,包含常见的子接口如List、Set。Map:用于存储键值对(key-value......
  • JavaScript 中 let、var 和 const 的区别及使用建议
    前言JavaScript中的let、var和const是三种不同的变量声明方式。虽然它们都可以用来声明变量,但它们之间有很大的区别。在本篇文章中,我们将深入探讨这三种变量声明方式的区别以及它们在实际开发中的应用。正文内容一、let的用法let是ES6中新增的变量声明方式,它的作用域......
  • 无涯教程-Java - SortedSet 集合接口函数
    SortedSet接口扩展了Set并声明了按升序排序的集合的行为。除了Set定义的那些方法外,SortedSet接口还声明了下表中概述的方法-如果尝试使用null对象并且集合中不允许使用null,则抛出NullPointerException。Sr.No.Method&Remark1Comparatorcomparator()返回调用排序集的比......