hashMap中如何新增元素呢?

璐璐 Java面经 发布时间:2022-10-30 10:43:02 阅读数:8301 1 集合容器面试题(2023优化版)
下文笔者讲述HashMap中新增元素的方法分享,如下所示
实现思路:
    HashMap中新增元素采用put方法
put方法操作流程如下所示
  1.根据key计算出hashcode值(哈希值)(与Key.hashCode的高16位做异或运算)
  2.当散列表为空时,调用resize()初始化散列表
  3.当没有发生哈希碰撞(hash值相同),直接添加元素到散列表中去
  4.当发生了哈希碰撞,进行三种判断
    4.1:若key地址相同或者equals后内容相同,则替换旧值
    4.2:当是红黑树结构,就调用树的插入方法
    4.3:链表结构,循环遍历直到链表中某个节点为空,
        尾插法进行插入,插入之后判断链表是否树化
		当链表长度不小于8且数组长度不小于64时,链表转换为红黑树
  5.当桶满,即元素个数大于阈值,则resize进行扩容
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaMianJing/202210/16670978444752.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者