掌握 Java SortedSet:TreeSet 及其方法实战指南
掌握 Java SortedSet:TreeSet 及其方法实战指南
Java 集合框架中的 SortedSet 接口代表一个按升序维护元素的集合。与普通 Set 不同,SortedSet 保证元素按自然顺序(实现 Comparable 的类型)或创建时提供的自定义 Comparator 排序。
它继承自 Set 接口,获得所有标准集合操作,并新增了一套范围查询方法,这对有序集合极为重要。
实现 SortedSet 的类
JDK 中 SortedSet 的唯一具体实现是 TreeSet。其底层使用红黑树,保证大多数操作的时间复杂度为 O(log n)。
如何使用 SortedSet
使用 SortedSet 需导入 java.util.SortedSet 并创建 TreeSet 实例:
import java.util.SortedSet;
import java.util.TreeSet;
SortedSet<String> animals = new TreeSet<>();
默认按自然顺序排序。若需自定义顺序,构造时传入 Comparator 即可。
SortedSet 关键方法
- comparator() – 返回用于排序的
Comparator,自然顺序时返回null。 - first() – 获取最小元素。
- last() – 获取最大元素。
- headSet(E element) – 返回严格小于指定元素的所有元素。
- tailSet(E element) – 返回大于或等于指定元素的所有元素。
- subSet(E fromElement, E toElement) – 返回从
fromElement(含)到toElement(不含)的元素范围。
这些方法继承自 Set,同时提供 add、remove、contains 等标准集合操作。
TreeSet 实战演示
import java.util.SortedSet;
import java.util.TreeSet;
public class Main {
public static void main(String[] args) {
// 创建整数 SortedSet
SortedSet<Integer> numbers = new TreeSet<>();
// 添加元素
numbers.add(1);
numbers.add(2);
numbers.add(3);
numbers.add(4);
System.out.println("SortedSet: " + numbers);
// 访问边界元素
System.out.println("First Number: " + numbers.first());
System.out.println("Last Number: " + numbers.last());
// 移除元素
boolean removed = numbers.remove(2);
System.out.println("Is the number 2 removed? " + removed);
}
}
输出
SortedSet: [1, 2, 3, 4] First Number: 1 Last Number: 4 Is the number 2 removed? true
深入了解 TreeSet 请参阅官方文档:TreeSet API。
掌握 SortedSet 与 TreeSet 后,你可以在 Java 应用中高效可靠地实现有序集合。
java
- 掌握 C# 接口:定义、实现与实战场景全解析
- 精通 Java 运算符:类型、语法与实战示例
- 精通 Java super 关键字:高级用法与实战示例
- 精通 Java 接口:概念、实现与最佳实践
- 精通 Java Try-With-Resources:自动资源管理详解
- Java 注解详解:类型、放置位置与实战示例
- 掌握 Java NavigableSet 接口:导航、排序与实战示例
- 掌握 Java Lambda 表达式:从基础到 Stream API 实战
- Java 接口 vs 抽象类:如何选择合适的抽象方式
- Java 接口全解析:定义契约、默认方法、多实现与标记接口
- Java 10 开发环境搭建:构建、编译与运行完全指南
- Java 9 接口私有方法:增强封装与代码复用