什么是哈希表:
哈希表就是数组加链表
或者是数组加红黑树
数组的特点:查询快,增删慢(根据索引值获取元素快)
链表的特点:查询慢,增删快
红黑树的特点:查询和增删都比较快
接下来我们来举例了解一个什么时候哈希表是数组加链表,什么时候哈希表是数组加红黑树。
一.关于Set集合中我们知道,Set集合的特点是:没有索引值,元素不能重复。这里我们主要说一下关于Set集合下的HashSet集合,因为它的底层数据结构就是哈希表。
1.我们先来创建一个HashSet集合
这里新建了一个String类型的HashSet集合,在集合中添加了三个元素,我们打断点来看一下底层源码是怎么实现这个新增的。
2.进来后这里,我们实现的新增元素,所以这里的泛型e就是我们刚刚新增的zz,
3.再进来,这里的key就是zz,putVal方法中有五个参数,第一个参数是一个hash方法的返回值