其他分享
首页 > 其他分享> > 哈希值和HashSet集合存储数据的结构(哈希表)

哈希值和HashSet集合存储数据的结构(哈希表)

作者:互联网

哈希值:是一个十进制的整数,由系统随机给出(就是对象的地址值,是一个逻辑地址,是模拟出来得到地址,不是数据实际存储的物理地址)3

在object类有一个方法,可以获取对象的哈希值

int hashcode()返回该对象的哈希码值。

hashcode方法的源码:

public native int hashcode()

native:代表该方法调用的是本地操作系统的方法

代码举例:

 

HashSet集合存储数据的结构(哈希表)

HashSet集合存储数据的结构(哈希表)jdk1.8版本之前:哈希表=数组+链表jdk1.8版本之后:哈希表=数组+链表:哈希表=数组+红黑树(提高查询的速度)哈希表的特点:速度快

两个元素不同,归是哈希值相同哈希冲突

如果链表的长r超过了8位那么就会把链表转换为红黑树(提高查询的速度)

 

原理图:

 

 

 

 

 

 

 

搜索

复制

标签:存储,哈希,HashSet,hashcode,链表,数组
来源: https://www.cnblogs.com/12-12-12/p/16449633.html