SortedSet
在 Java 的整个集合体系中,集合可以分成两个体系,一个是 Collection 存储单个对象的集合,另一个是 k-v 结构的 Map 集合。 SortedSet 是 Collection 体系下 Set 接口下的派生类,而 Set 集合的特征是不包含重 复的元素的集合。
相同点
相同点:
- 都可以用来存储一组有序的元素。
- 都支持随机访问和按照索引位置插入元素。
- 都是派生自 Collection 接口
不同点
不同点:
- SortedSet 是一个有序的集合,不允许元素的重复,而 List 是一个有序的列表,允许元素的重复。
- SortedSet 可以按照元素的自然顺序或者自定义比较器进行排序,而 List 只能按照元素的添加顺序排序。
- 在 SortedSet 中,元素的添加和删除操作的时间复杂度为 O(logn),而在 List 中,元素的添加和删除操作的时间复杂度为 O(n),因为需要移动其他元素的位置。
- SortedSet 可以方便地进行范围查询操作,例如获取某个区间内的元素,而 List 只能通过遍历实现范围查询。