chapter14-集合——(List-HMap)——day18

目录

536-HMap阶段小结

537-HMAp底层机制

538-HMAP源码解读

539-HMap扩容树化触发


重点在于hashmap的扩容机制

它内部是k-v对方式存储数据,Hash$node类型;相同的key,就会覆盖

Hash$node类型实现了mapentry接口

扩容条件,看是否到临界值,每次扩两倍

//0->16(12) ->32(24) -> 64(64*0.75=48)->128 (96)->

树化条件,链表超过8+整个table超过64

536-HMap阶段小结

537-HMAp底层机制

538-HMAP源码解读

539-HMap扩容树化触发

没有重写equals方法 所以不会有相同对象

补充一下,这里就算是重写了equels方法也是12个,因为是引用数据类型,hash值是不同的

3.根本原因在于底层判断机制:(e.hash & oldCap) == 0

  1. 当加入的结点Node数量 `Size >(加载因子*table容量)`时,立即扩容(tips:等于时不扩容 / node数量不仅限于table表上的,还有链表&树里的)
相关推荐
lxh011312 分钟前
函数防抖题解
前端·javascript·算法
再难也得平16 分钟前
力扣41. 缺失的第一个正数(Java解法)
数据结构·算法·leetcode
颜酱17 分钟前
环检测与拓扑排序:BFS/DFS双实现
javascript·后端·算法
IronMurphy23 分钟前
【算法二十】 114. 寻找两个正序数组的中位数 153. 寻找旋转排序数组中的最小值
java·算法·leetcode
实心儿儿25 分钟前
算法2:链表的中间结点
数据结构·算法·链表
代码探秘者26 分钟前
【Java集合】ArrayList :底层原理、数组互转与扩容计算
java·开发语言·jvm·数据库·后端·python·算法
颜酱27 分钟前
理解并查集Union-Find:从原理到练习
javascript·后端·算法
玛卡巴卡ldf29 分钟前
【LeetCode 手撕算法】(双指针) 1-两数之和、283-移动零、11-盛最多水的容器、15-三数之和
数据结构·算法·leetcode
mygugu1 小时前
归纳理解epoch、batch、batch size、step、iteration深度学习名词
人工智能·算法
AI科技星1 小时前
基于双隐含量(角速度 +质量 )的全量变形公式体系-发现新公式
开发语言·人工智能·线性代数·算法·矩阵·数据挖掘