重学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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值