📜  java中的treeset(1)

📅  最后修改于: 2023-12-03 15:16:30.567000             🧑  作者: Mango

Java中的TreeSet

在Java中,TreeSet是一种基于红黑树实现的有序集合,它可以自动排序并保证元素的独一无二。这意味着没有重复元素,并且集合中的元素会按照从小到大的顺序被存储。TreeSet实现了SortedSet接口,所以它支持所有SortedSet的操作。

如何创建TreeSet

创建一个空的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是一个不错的选择。