其他分享
首页 > 其他分享> > HashSet数据存储方式详解

HashSet数据存储方式详解

作者:互联网

***HashSet数据存储方式

下图为一个HashSet数组的结构和三个元素,演示存储的过程


首先存入字符串“abc”;通过hashCode方法发现数组里没有96354这个哈希值,将这个哈希值存入数组,然后将元素"abc"以链表的方式连接在对应的哈希值数组下

然后重复操作同样存入元素"重地";

最后,存入元素“通话”,在调用方法hashCode返回哈希值的时候,发现数组中已经存在117935这个哈希值,要调用equals方法比较元素“重地”和“通话”,若返回false,存入“通话”,若返回ture,放弃存储。很明显,“通话”.equals("重地")返回false,因为哈希值一样所以“通话”以链表的形式挂在“重地”下面,形成链表

HashSet补充:为什么重写hashCode方法中用31?

标签:存储,数组,HashSet,存入,链表,通话,详解,哈希
来源: https://www.cnblogs.com/xypersonal/p/16103971.html