TreeSet有四种种构造函数可以初始化
在代码中主要列出了常用的三种:
构造方法摘要
自然顺序进行排序。
Comparator super E> comparator)
构造一个新的空 TreeSet,它根据指定比较器进行排序。
package test;
import java.util.TreeSet;
import java.util.Iterator;
import java.util.ArrayList;
import java.util.Arrays;
//TreeSet是一个不包含重复值的升序集合
public class test7 {
public static void main(String[] args) {
//集合初始化方法1
System.out.println("集合初始化方法1");
TreeSet set=new TreeSet<>();
System.out.println(set.add(1));
System.out.println(set.add(1));
set.add(3);
set.add(10);
set.add(2);
Iterator ite =set.iterator();
while(ite.hasNext()){
System.out.println(ite.next());
}
//集合初始化方法1,另外一种构造方法
System.out.println("集合初始化方法2");
ArrayList arr=new ArrayList(Arrays.asList(new Integer[]{1,2,6,7,2,8}));
TreeSet set2=new TreeSet<>(arr);
Iterator ite1 =set2.iterator();
while(ite1.hasNext()){
System.out.println(ite1.next());
}
System.out.println("输出第一个值");
System.out.println(set.first());
System.out.println("输出最后一个值");
System.out.println(set.last());
// 返回此 set 中严格大于给定元素的最小元素
System.out.println(set.higher(3));
// 返回此 set 中大于等于给定元素的最小元素;
System.out.println(set.ceiling(3));
返回此 set 中严格小于给定元素的最小元素;
System.out.println(set.lower(3));
// 返回此 set 中小于等于给定元素的最小元素;
System.out.println(set.floor(3));
// SortedSetsubSet(E fromElement, E toElement) 返回此 set 的部分视图,其元素从 fromElement(包括)到 toElement(不包括)。
TreeSetsubset=new TreeSet<>(set.subSet(0, 3));//输出前两个数
Iterator it =subset.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
// SortedSetheadSet(E toElement) 返回此 set 的部分视图,其元素严格小于 toElement。
System.out.println("headSet");
TreeSetheadset=new TreeSet<>(set.headSet(3));//输出小于3的子集合
Iterator it2 =headset.iterator();
while(it2.hasNext()){
System.out.println(it2.next());
}
//SortedSettailSet(E fromElement) 返回此 set 的部分视图,其元素大于等于 fromElement。
System.out.println("tailSet");
System.out.println("TreeSet的第三种初始化方法");
TreeSettailset=new TreeSet<>(set.tailSet(3));//输出大于等于3的子集合
Iterator it3 =tailset.iterator();
while(it3.hasNext()){
System.out.println(it3.next());
}
// E pollFirst()获取并移除第一个(最低)元素;如果此 set 为空,则返回 null。pollLsat()移除最后一个数
System.out.println("pollfist");
System.out.println(set.pollFirst());
//size()集合大小
System.out.println("size()");
System.out.println(set.size());
// booleancontains(Object o)
System.out.println("contains()");
System.out.println(set.contains(1));
//isEmpty()
System.out.println("isEmpty()");
System.out.println(set.isEmpty());
//clear()
System.out.println("clear()");
set.clear();
System.out.println("是否清空集合:"+set.isEmpty());
}
}