且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

HashSet集合

更新时间:2022-09-22 21:26:57

HashSet集合:

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

 

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

 

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

数组集合检索:

HashSet集合


HashSet集合检索:

HashSet集合


速度对比:

HashSet集合


运行结果:

HashSet集合

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




单链引用示意图:

HashSet集合



数组存储示意图:

HashSet集合




HashSet集合添加方法:

代码示例:

HashSet集合

HashSet集合




本文转自 ZeroOne01 51CTO博客,原文链接:http://blog.51cto.com/zero01/1976545,如需转载请自行联系原作者