黑马程序员技术交流社区

标题: hashset原理 [打印本页]

作者: 爱java爱生活    时间: 2015-6-21 21:50
标题: hashset原理

hash算法的原理:有一个hash函数:如function(element)
{
       如”ab“

     ('a'+'b')%数组长度=index;
这样每个元素的下标就是唯一了;
但是这样就不能从重复了,保证元素唯一性;hashset这样查找元素就快多了--查找元素直接丢算法里,如果下标对应元素相同则就存在

存取元素相同就不存;
}
HashSet里面是否包含某个对象:
1:先判断值;用的是hashcode方法求的hash值相比,值不同直接不比了,元素不存在;
2:判断内容;用的是equals方法来比较,

作者: ARD    时间: 2015-6-22 00:44
可以的 说的不错. 差不多就是这个意思. 但是最好别把hashcode方法中返回的值固定, 若固定则每次都要比较equals方法, 效率是很慢的.
作者: zuopiezi    时间: 2015-6-22 10:24
嗯。。。。。
作者: 腹黑生姜    时间: 2015-6-22 22:06
对的!!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2