重学java 57.哈希表结构存储过程

别焦虑,生活无非见招拆招

------ 24.6.3

哈希表存储数据去重复的过程:

a.先比较元素的哈希值(重写hashCode),再比较内容(重写equals)

b.如果哈希值不一样,证明内容不一样,存

c.如果哈希值一样,再比较内容

如果哈希值一样,内容不一样(哈希碰撞,哈希冲突),存

如果哈希值一样,内容也一样,去重复

细节:

a.哈希表中的数组默认长度 为16,但是是第一次put的时候数组才会被初始化为长度为16的数组

b.哈希表中有一个加载因子: 0.75F含义是,数组存储达到百分之75的时候,扩容扩容2倍

c.如果链表长度达到 8**,** 并且数组容量大于等于 64的时候,链表会自动转成红黑树

d.如果删除元素,元素个数小于等于 6了,红黑树会转回链表

变量

default_initial_capacity :HashMap默认容量 16

default_load_factor :HashMap默认加载因子 0.75f

threshold :扩容的临界值 等于容量*0.75=12第一次扩容

treeify_threshold :链表长度默认值,转为红黑树 :8

min_treeify_capacity :链表被树 化时最小的数组容量:64

相关推荐
码完就睡16 小时前
数据结构——红黑树
数据结构
码爸16 小时前
数据结构详细介绍
数据结构
CQU_JIAKE20 小时前
10.9【A】
数据结构
第25小时记录20 小时前
数据结构与算法 -第 3 章 常用算法-动态规划
数据结构·python
霸道流氓气质21 小时前
Prompt 版本控制与 A/B 测试实战:语义版本管理、一致性哈希分流与 Thompson Sampling 的 Java 生产级实现
java·prompt·哈希算法
Logic1011 天前
C语言/数据结构数位DP题解:平滑排列数字统计——区间内相邻位差不超过K的数字个数
c语言·数据结构·动态规划·时间复杂度·数位dp·算法题·前导零处理
wang09071 天前
硬着头皮学数据结构和算法之Myers算法
数据结构·算法
垆边人似月.1 天前
华为机试题 :最长递增子序列题目
数据结构·c++·算法·华为
yi0112 天前
LeetCode 219:存在重复元素 II——哈希表记录“最近一次出现的位置”
数据结构·人工智能·笔记·python·算法·leetcode·哈希表