3.28学习内容

HashSet:

1.哈希表的结构和特点

结构:结构有多种

主结构:顺序表

每个顺序表的节点再单独引出一个链表

特点:快

2.哈希表是如何添加数据的

1.计算哈希码(调用哈市Code()),结果是一个int值,整数的哈希码取自身即 可)

2.计算在哈希表中的存储位置 y=k(x)=x%11 x:哈希码  k(x):函数  y:在哈希 表中的存储位置

3.存入哈希表

情况1::一次添加成功

情况2:多次添加成功(出现了冲突,调用equals()和对应链表的元素进      行比较,比较到最后,结果都是false,创建新节点,存储数据,      并加入链表末尾)

情况3:不添加(出现了冲突,调用equals()和对应链表的元素进行比      较,经过一次或多次比较后,结果是true,表明重复,不添加)

结论1:哈希表添加数据快(3步即可,不考虑冲突)

结论2:唯一

结论3:无序

3.哈希表如何查询数据

和添加数据的过程相同

情况1:一次找到

情况2:多次找到

情况3:找不到

结论1:哈希表查询数据快

结论2:哈希表删除数据快

结论3:哈希表更新数据快

4.hashCode和equals作用

HashCode():计算哈希码,是一个整数,根据哈希码可以计算出数据在哈希 表中的存储位置。

equals():添加时出现了冲突,需要通过equals进行比较,判断是否相同

Map:

1.Map:是集合每个元素是两个对象,一个是key,一个是value   键值对

好处:根据key可以快速找到value

找到key特别快(就是哈希表的查询)

value和key在一起,已经打包Entry(key,value)

无序 唯一

2.如何遍历Map

不能直接遍历,必须先转换成Set再遍历

思路1:先得到所有的key,遍历key的过程中,根据key获取value

思路2::先得到所有的key-value组成的Set,然后遍历Set

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值