码迷,mamicode.com
首页 > 编程语言 > 详细

哈希集合

时间:2018-04-09 22:19:21      阅读:207      评论:0      收藏:0      [点我收藏+]

标签:哈希集合

声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。

哈希集合:

介绍:这个集合它的查找速度是比较快的
arrayList添加的速度大概是2秒,检索速度大概是12秒,而hash集合的添加大概是5秒,检索速度大概是9毫秒,这就说明hash 的检索速度是非常快的,hash 的好处就是检索速度快,因为它添加数据的时候就早就做好你要检索的准备

image

它的原理就是:如下图,如果陆陆续续的加入数据到这个方法中,那它存储的方式就是,首先有个数组,你要查找D的话,首先找到hashCode值,然后取模10,取出来下标是6就马上定位到那里去,它拿的是hashCode值来%10,如果能整除10就是0,如果不能就是1到9之间的余数

image

比方说有序集合的检索就是,你要查找D在哪你要一个个问,这种效率就很低,而hash集合检索的方式不跟这些一样

image

Hash重复是什么意思?
如下图:比方说ABCDEF的存储,存储长度分为四格,存储的时候ABCD都存储进去了,假如那存储E的时候计算存储到B的那个位置,而那里是有值的,那不可能把以前的值冲掉的,那它就想到了单链形式,在B的下面挂一个E,假设F也在B的那个位置,那就挂在E的下面,单链解决hash重复的问题

image

重组是什么意思?
如下图:数据量大的话就形成单链挂在这,挂得多了数据量就大了,数据量大的话检索就慢起来了,要一个个问,那就很麻烦了,所以要扩容重组

image

哈希集合

标签:哈希集合

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
凯哥学堂
加入时间:2016-10-07
  关注此人  发短消息
java学习视频下载:www.kaige123.com
凯哥学堂”关注的人------(0
凯哥学堂”的粉丝们------(1
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!