Java中TreeSet的学习

增删改查时间复杂度为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();
		
	}

}


继续加油~

猜你喜欢

转载自blog.csdn.net/yo_bc/article/details/79745849