标签: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
原文地址:http://zero01.blog.51cto.com/12831981/1976545