• 手机版

    扫码体验手机版

  • 微信公众号

    扫码关注公众号

国内首家协议开发

软芯音视解码保护平台

在线
客服

发布
需求

在线
聊天

天盟
APP

天盟APP下载

关注
微信

微信扫一扫访问
顶部

Hashmap被问到扩容机制?

求大神帮忙,面试被问到标题上的问题,该怎么回答?还有就是hash碰撞又该怎么回答?

免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。

版权声明:作者保留权利,不代表天盟立场。

使用道具 举报

全部参与1

HashMap底层采用数组加链表的方式实现,位桶数组默认大小是16(必须是2的整数次幂),当数组里面的元素装满3/4的时候就会自动扩容,一般是原来的两倍大小。所谓的哈希碰撞就是你put一个键值对进去时,首先会调用key的hashcode()方法产生一个哈希码,再调用hash()方法产生一个哈希值,这个哈希值就是位桶数组的索引。如果此时位桶数组该索引位置已经放了键值对进去了,就产生了哈希碰撞。此时会采取单向链表的方式,调用key的equals()方法挨个比较链表里节点的key值,若返回true,则用新的value值覆盖原来的value值,否则让最后一个节点指向你put进去的键值对。

使用道具 举报

发新帖

发布任务需求已有1031166位用户正在使用天盟网服务

发布分类: *
任务预算: *
需求内容: *
手机号码: *
任务商家报价为
  • 预算价 :
  • 成交价 :
  • 完工期 :
  • 质保期 :

* 最终任务项目以服务商报价、双方协商为准!