📅  最后修改于: 2023-12-03 15:16:30.567000             🧑  作者: Mango
在Java中,TreeSet是一种基于红黑树实现的有序集合,它可以自动排序并保证元素的独一无二。这意味着没有重复元素,并且集合中的元素会按照从小到大的顺序被存储。TreeSet实现了SortedSet接口,所以它支持所有SortedSet的操作。
创建一个空的TreeSet:
TreeSet<String> treeSet = new TreeSet<>();
创建一个包含初始元素的TreeSet:
TreeSet<String> treeSet = new TreeSet<>(Arrays.asList("apple", "banana", "orange"));
TreeSet中的add()方法可以添加元素。如果元素已经存在于集合中,则不会被添加。
treeSet.add("pear");
TreeSet中的remove()方法可以删除元素。
treeSet.remove("apple");
TreeSet中的first()方法可以获取最小的元素,last()方法可以获取最大的元素。
String smallest = treeSet.first();
String largest = treeSet.last();
TreeSet中的ceiling()方法可以获取集合中大于等于指定元素的最小元素,floor()方法可以获取集合中小于等于指定元素的最大元素。
String ceiling = treeSet.ceiling("banana");
String floor = treeSet.floor("banana");
TreeSet可以使用for-each循环来遍历元素。元素会按照从小到大的顺序被遍历。
for (String fruit : treeSet) {
System.out.println(fruit);
}
TreeSet提供了一种有序的去重存储元素的方式,它可以自动排序并保证元素的独一无二。虽然TreeSet在添加、删除和获取元素方面的时间复杂度都是O(log n),但它在遍历元素方面表现优异。如果需要对大量元素进行遍历操作,TreeSet是一个不错的选择。