1:特点
- 无序:存取顺序不一致
- 不重复:可以去除重复
- 无索引:不能使用普通for循环遍历,也不能通过索引来获取元素
2:实现类特点
- HashSet: 无序,不重复,无索引
- LinkedHashSet:有序,不重复,无索引
- TreeSet:排序,不重复,无索引
Set集合的功能基本上与Collection的API一致
HashSet的扩容: 当HashSet中的元素数量超过其当前容量与负载因子的乘积时,会自动进行扩容。负载因子是指集合中元素数量与容量的比值。扩容的策略是创建一个更大的哈希表,并将原有元素重新计算哈希值并放入新的哈希表中。
2:HashSet元素无序的底层原理:哈希表
1:哈希表的详细流程: