Set
Set
HashSet 集合
底层数据结构是哈希表(是一个元素为链表的数组) + 红黑树
要点
- 实现 Set 接口
- 不保证迭代顺序
- 允许元素为 null
- 底层实际上是一个 HashMap 实例
- 非同步
- 初始容量非常影响迭代性能
HashSet 实际上就是封装了 HashMap,操作 HashSet 元素实际上就是操作 HashMap。这也是面向对象的一种体现,重用性贼高!
详解见 HashMap
TreeSet 集合
底层数据结构是红黑树(是一个自平衡的二叉树)
保证元素的排序方式
要点
- 实现NavigableSet接口
- 可以实现排序功能
- 底层实际上是一个TreeMap实例
- 非同步
LinkedHashSet 集合
底层数据结构由哈希表(是一个元素为链表的数组)和双向链表组成。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 杨柳亭!