HashSet数据存储方式详解
***HashSet数据存储方式
下图为一个HashSet数组的结构和三个元素,演示存储的过程
首先存入字符串“abc”;通过hashCode方法发现数组里没有96354这个哈希值,将这个哈希值存入数组,然后将元素"abc"以链表的方式连接在对应的哈希值数组下
然后重复操作同样存入元素"重地";
最后,存入元素“通话”,在调用方法hashCode返回哈希值的时候,发现数组中已经存在117935这个哈希值,要调用equals方法比较元素“重地”和“通话”,若返回false,存入“通话”,若返回ture,放弃存储。很明显,“通话”.equals("重地")返回false,因为哈希值一样所以“通话”以链表的形式挂在“重地”下面,形成链表