码迷,mamicode.com
首页 > 其他好文 > 详细

HashSet集合

时间:2017-10-26 22:51:31      阅读:144      评论:0      收藏:0      [点我收藏+]

标签:hashset

HashSet集合:

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

 

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

 

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

数组集合检索:

技术分享


HashSet集合检索:

技术分享


速度对比:

技术分享


运行结果:

技术分享

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




单链引用示意图:

技术分享



数组存储示意图:

技术分享




HashSet集合添加方法:

代码示例:

技术分享

技术分享


本文出自 “zero” 博客,请务必保留此出处http://zero01.blog.51cto.com/12831981/1976545

HashSet集合

标签:hashset

原文地址:http://zero01.blog.51cto.com/12831981/1976545

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!