HashSet内部是根据什么排序的??
时间:2011-12-04
来源:互联网
虽说HashSet是无序的,也就是说存入的顺序和取出的顺序不一致,但是在HashSet内部却还是有顺序的,因为每次将HashSet集合对象迭代打印出来的顺序是一致的,那么内部是根据什么排序...求解?
作者: a920123164 发布时间: 2011-12-04
hash值吧,很好的问题。看看源代码更确定。
每个对象都有hashCode()这个方法,是继承自Object的,所有根据hash值来排序是很合理的。
每个对象都有hashCode()这个方法,是继承自Object的,所有根据hash值来排序是很合理的。
作者: daijope 发布时间: 2011-12-04
HashSet是无序的,如果你要排序的set那么用TreeSet。Set的内部实现都是使用了Map.你可以看看JDk的源码.
作者: xiongyu2006 发布时间: 2011-12-04
哈希表的基本思想是:以线性表中每个元素的关键字key为自变量,通过一定的函数关系h(key)计算出函数的值,把这个值作为数组的下标,将元素存入对应的数组元素中。
作者: hq333 发布时间: 2011-12-05
HashSet内部的存储是由hash函数定的,例如:
13,11,5,7,19;hash函数假设是%9,运算得:4,2,5,7,1,那么地址1是19,地址2是11,地址4是13,地址5是5,地址7是7。
真正的hash函数较复杂,它要尽量保证两个数运算后,得到的值不一样,如相同,则属于冲突,由一冲突程序处理。
13,11,5,7,19;hash函数假设是%9,运算得:4,2,5,7,1,那么地址1是19,地址2是11,地址4是13,地址5是5,地址7是7。
真正的hash函数较复杂,它要尽量保证两个数运算后,得到的值不一样,如相同,则属于冲突,由一冲突程序处理。
作者: hq333 发布时间: 2011-12-05
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28