HashSet集合

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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集合的主要内容,如果未能解决你的问题,请参考以下文章

JavaSE学习总结(十三)Set集合HashSet集合LinkedHashSet集合TreeSet集合比较器的使用利用Set集合实现去重

31.set集合与HashSet

Set集合

Java学习(set接口HashSet集合)

集合 Set——HashSet和TreeSet

由浅入深理解java集合——集合 Set