黑马程序员技术交流社区
标题:
哈希表的遍历方式疑问
[打印本页]
作者:
我自信我很牛
时间:
2013-3-25 21:13
标题:
哈希表的遍历方式疑问
在遍历哈希表时,输出的顺序不是我们希望的顺序,在jvm底层是怎么实现的,linkedhashset却可以做到顺序遍历,又是怎么实现的。
作者:
itserious
时间:
2013-3-25 21:26
哈希表,的底层就是用的hash算法。通过计算目标hash值来确定它应该存放的位置。
hash表的内部是一个可变长度的数组,这个长度是通个一个叫负载均衡因子的数值来控制的。
通过计算hash值,来确定脚标。即该存放的位置。再通过equals方法去判断是否相等。
而linkedhashset 是在哈希表 的基础上还加了一个链表。这个链表就可以用来记录目标
的前一个元素和后一个元素是什么,所以可以实现有顺序遍历了。
作者:
魏福伟
时间:
2013-3-25 21:34
哈希表通过哈希函数来得到所存储的地址,linkedhashset是通过链表实现的
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2