-
LinkedHashSet 类
1. LinkedHashSet 是 HashSet 的子类,继承 HashSet 的方法
2. LinkedHashSet 的底层是 LinkedHashMap ,底层维护了一个数组加双向链表的组合
3. LinkedHashSet 根据元素的 hashCode 值来决定元素在 table 数组上的存储位置,同时使用链表结构来维护元素的次序(after 引用指向下一个插入的结点,而 before 引用指向上一个插入的结点),这使得元素添加顺序和取出顺序是一样的。
4. LinkedHashSet 不允许添加重复的元素
5. LinkedHashSet 数组是 HashMap$Node[] ,但里面实际存放的类型为 LinkedHashMap$Entry,它俩是继承关系
6. 其扩容逻辑和树化逻辑和 HashSet 一样,因为都是调用相同的方法