前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >HashSet集合

HashSet集合

作者头像
端碗吹水
发布2020-09-23 10:31:03
7110
发布2020-09-23 10:31:03
举报

HashSet集合:

hashSet集合是把存储进来的对象先计算出对象的hash值后才进行对应的存储,因为存储进来的对象都有一个hash值,所以在进行查询的时候不需要像其他集合一样,一个个去查询来得到所需要的对象。hashSet集合只需要把要查询的对象计算出hash值后查找存储区域里hash值一样的对象,然后拿出来即可。这样检索速度就会相当快,这也是hashSet集合的优点。

在hashSet集合里如果存储对象时出现两个或多个相同的hash值,则会以单链的形式挂在同一个hash值下,所以数组的长度越长检索的速度越快,因为数据分开的比较散不会挤在一起。如果数组太短的话存储的对象就会拥挤在同一个hash值下,这样检索起来自然会慢很多。

HashSet集合与数组集合检索速度对比:

数组集合检索:

93443ed2905030139036ae6e288153f8.png
93443ed2905030139036ae6e288153f8.png

HashSet集合检索:

9f5a2c46358677c8a492f4bc3080aa8c.png
9f5a2c46358677c8a492f4bc3080aa8c.png

速度对比:

f84ccd0b22189103b39e10cd660bec64.png
f84ccd0b22189103b39e10cd660bec64.png

运行结果:

695358ff6c8526beab6b42e012a63499.png
695358ff6c8526beab6b42e012a63499.png

从以上实验可以看得出速度相差的不是一点点。

单链引用示意图:

e7246db151be6a7edaa6a8a24222b293.png
e7246db151be6a7edaa6a8a24222b293.png

数组存储示意图:

30231967baca1da0cc9466ddbb650779.png
30231967baca1da0cc9466ddbb650779.png

HashSet集合添加方法:

代码示例:

4456bce858d8bdf7b32f757dc765df2d.png
4456bce858d8bdf7b32f757dc765df2d.png
5d1c7b01ffa69a596a44583c08b298f2.png
5d1c7b01ffa69a596a44583c08b298f2.png
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-10-26 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档