TreeSet是Java集合框架中的一个类,它实现了SortedSet接口,底层使用红黑树实现,可以实现有序的插入和遍历。
TreeSet的特点:
-
TreeSet中的元素是有序的,默认按照升序排序,也可以通过Comparator自定义排序方式。
-
TreeSet中的元素是唯一的,不允许有重复元素。
-
插入和删除元素的时间复杂度为O(logN),查找元素的时间复杂度也为O(logN)。
TreeSet的常用方法:
-
add(E e):向TreeSet中添加元素。
-
remove(Object o):从TreeSet中删除指定元素。
-
contains(Object o):判断TreeSet中是否包含指定元素。
-
iterator():返回TreeSet的迭代器,用于遍历元素。
-
first():返回TreeSet中的第一个元素。
-
last():返回TreeSet中的最后一个元素。
使用示例:
import java.util.TreeSet; public class TreeSetExample { public static void main(String[] args) { TreeSettreeSet = new TreeSet<>(); // 添加元素 treeSet.add(5); treeSet.add(2); treeSet.add(8); treeSet.add(1); treeSet.add(4); // 遍历元素 for (Integer num : treeSet) { System.out.println(num); } // 删除元素 treeSet.remove(2); // 判断元素是否存在 System.out.println(treeSet.contains(4)); // 获取第一个元素和最后一个元素 System.out.println(treeSet.first()); System.out.println(treeSet.last()); } }
输出结果:
1 2 4 5 8 true 1 8
在上面的示例中,我们创建了一个TreeSet对象,并向其中添加了一些整数元素。由于TreeSet会进行排序和去重,所以打印出的结果是有序且没有重复的。我们还演示了删除元素、判断元素是否存在以及获取第一个和最后一个元素的操作。