增删改查时间复杂度为log(n),详细学习推荐:
Java 集合系列17之 TreeSet详细介绍(源码解析)和使用示例
// 实现代码
import java.util.Iterator;
import java.util.TreeSet;
public class TestTreeSet {
public static void main(String[] args) {
// TODO Auto-generated method stub
TreeSet<Integer> set = new TreeSet<>();
set.add(3);
set.add(5);
set.add(4);
set.add(1);
set.add(2);
for(Iterator it = set.iterator(); it.hasNext();) {
System.out.print((Integer)it.next() + (it.hasNext() ? ", " : ""));
}
System.out.println();
// 逆向遍历
for(Iterator it = set.descendingIterator(); it.hasNext();) {
System.out.print((Integer)it.next() + (it.hasNext() ? ", " : ""));
}
System.out.println();
//取集合中第一个和最后一个元素
System.out.println("first: " + set.first() + ", last: " + set.last());
// <, >, <=, >=
System.out.println("lower: " + set.lower((Integer)3));
System.out.println("higher: " + set.higher((Integer)3));
System.out.println("floor: " + set.floor((Integer)3));
System.out.println("ceil: " + set.ceiling((Integer)3));
Integer a[] = (Integer[])set.toArray(new Integer[0]);
for(int i = 0; i < set.size(); ++i) {
System.out.print(a[i] + ", ");
}
System.out.println();
//删除并返回第一个元素(最后一个元素)
System.out.println("pollFirst: " + set.pollFirst() + ", pollLast: " + set.pollLast());
set.remove((Integer)3);
for(Iterator it = set.iterator(); it.hasNext();) {
System.out.print((Integer)it.next() + (it.hasNext() ? ", " : ""));
}
System.out.println();
}
}
继续加油~