其他分享
首页 > 其他分享> > 哈希值

哈希值

作者:互联网

什么是哈希表呢?

在JDK1.8之前,哈希表底层采用数组+链表实现,即使用链表处理冲突,同一hash值的链表都存储在一个链表里。

但是当位于一个桶中的元素较多,即hash值相等的元素较多时,通过key值依次查找的效率较低。而JDK1.8中

哈希表存储采用数组+链表+红黑树实现,当链表长度超过阈值(8)时,将链表转换为红黑树,这样大大减少了查找时间。

简单的来说,哈希表是由数组+链表+红黑树(JDK1.8增加了红黑树部分)实现的

哈希值:是一个十进制的整数,由系统随机给出(就是J象的地址值,是一个逻辑地址,是模拟出来得到地址,不是数据实际存储的物理地址)在object类有一个方法,可以获取对象的哈希值
int hashcode()返回该对象的哈希码值。hashcode方法的源码:
public native int hashcode();
native:代表该方法调用的是本地操作系统的方法

 

 

 

 

 

 

标签:存储,哈希,JDK1.8,hashcode,链表,数组
来源: https://www.cnblogs.com/NanFangDaGua/p/16450692.html