HashMap的remove()方法详解

本文深入解析HashMap的remove()方法,包括以key参数和key+value参数的删除操作,重点探讨了removeNode()方法及其涉及的变量,如tab、p、n和index。
摘要由CSDN通过智能技术生成

HashMap的remove()方法

HashMap中有两个remove()方法,一般常用的是第一个
在这里插入图片描述
以key为参数的remove方法 输入key–>key存在就删除

public V remove(Object key) {
       Node<K,V> e;
       return (e = removeNode(hash(key), key, null, false, true)) 
       == null ? null : e.value;
    }

以key+value为参数的remove方法 必须key和value都正确才删除

  public boolean remove(Object key, Object value) {
        return removeNode(hash(key), key, value, true, true) != null;
    }

但是两个方法都是在调用removeNode()方法
看方法前我们先了解一下这几个变量
在这里插入图片描述
以及出现在removeNode()里的这些变量
tab:引用当前HashMap中的散列表
p:当前node元素
n:表示散列表的数组长度
index:寻址结果 桶位

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值