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

哈希值

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

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

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

hashcode方法的源码:

public native int hashcode()

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

 

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

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

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

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

原理图:

posted @ 2022-07-06 13:50  肥宅快乐水~  阅读(41)  评论(0)    收藏  举报