TreeSet 用法举例
时间: 2024-10-16 16:19:25 浏览: 25
TreeSet 是 Java 中的另一个有序集合作为 TreeSet 类实现,它内部采用红黑树的数据结构。TreeSet 具有自然排序功能,它的元素是按照它们本身对象的自然顺序(Comparable 排序)或者自定义提供的 Comparator 进行排序的。
例如,如果你想创建一个包含字符串并按字母顺序排序的 TreeSet,可以这样做:
```java
import java.util.TreeSet;
public class Main {
public static void main(String[] args) {
// 创建 TreeSet 并指定自然排序(升序)
TreeSet<String> treeSet = new TreeSet<>();
// 添加元素
treeSet.add("banana");
treeSet.add("apple");
treeSet.add("cherry");
// 输出 TreeSest,自动排序
System.out.println(treeSet); // 输出:[apple, banana, cherry]
// 如果需要自定义排序,提供 Comparator
treeSet = new TreeSet<>(new Comparator<String>() {
@Override
public int compare(String s1, String s2) {
return s1.length() - s2.length();
}
});
treeSet.add("pear");
treeSet.add("kiwi");
System.out.println(treeSet); // 输出:[kiwi, pear]
}
}
```
在这个例子中,`add` 方法会自动保持 TreeSet 内部的排序,并且每次添加元素都会调整整个树的结构以保持有序。
阅读全文