Java教程

HashSet数据存储方式详解

本文主要是介绍HashSet数据存储方式详解,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

***HashSet数据存储方式

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


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

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

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

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

这篇关于HashSet数据存储方式详解的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!