别焦虑,生活无非见招拆招
------ 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
重学java 57.哈希表结构存储过程
L_cl2024-06-03 22:33
相关推荐
CSharp精选营2 天前
关系型 vs 非关系型:从原理到选型,一文搞定数据库核心分类刘马想放假5 天前
Modbus 全栈技术解析:TCP、RTU、ASCII、RTU over TCP北域码匠6 天前
冒泡排序太慢?鸡尾酒排序双向优化,原生 C# 零第三方库完整代码Darling噜啦啦13 天前
列表转树算法深度解析:从 Map 到 Reduce 的两种实现,面试高频考点小小工匠14 天前
Redis - 事务机制:能实现 ACID 属性吗玖玥拾14 天前
C/C++ 数据结构(七)栈、容器适配器Qres82114 天前
算法复键——树状数组牛油果子哥q14 天前
并查集(DSU)超精讲,路径压缩、按秩合并、万能模板、连通性判定、最小生成树与刷题实战全解凌波粒14 天前
LeetCode--491.递增子序列(回溯算法)WL学习笔记14 天前
单项不带头不循环链表