Java中TreeMap的基本操作

时间:2022-04-03 12:12:17

TreeSet有四种种构造函数可以初始化

在代码中主要列出了常用的三种:

构造方法摘要
TreeSet() 
          构造一个新的空 set,该 set 根据其元素的自然顺序进行排序。
TreeSet(Collection<? extends E> c) 
          构造一个包含指定 collection 元素的新 TreeSet,它按照其元素的自然顺序进行排序。
TreeSet(Comparator<? super E> comparator) 
          构造一个新的空 TreeSet,它根据指定比较器进行排序。
TreeSet(SortedSet<E> s) 
          构造一个与指定有序 set 具有相同映射关系和相同排序的新 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<Integer> 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 <Integer>ite =set.iterator();
while(ite.hasNext()){
System.out.println(ite.next());
}
//集合初始化方法1,另外一种构造方法
System.out.println("集合初始化方法2");
ArrayList <Integer> arr=new ArrayList<Integer>(Arrays.asList(new Integer[]{1,2,6,7,2,8}));
TreeSet<Integer> set2=new TreeSet<>(arr);
Iterator <Integer>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));
// SortedSet<E> subSet(E fromElement, E toElement) 返回此 set 的部分视图,其元素从 fromElement(包括)到 toElement(不包括)。
TreeSet<Integer>subset=new TreeSet<>(set.subSet(0, 3));//输出前两个数
Iterator <Integer>it =subset.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
// SortedSet<E> headSet(E toElement) 返回此 set 的部分视图,其元素严格小于 toElement。
System.out.println("headSet");
TreeSet<Integer>headset=new TreeSet<>(set.headSet(3));//输出小于3的子集合
Iterator <Integer>it2 =headset.iterator();
while(it2.hasNext()){
System.out.println(it2.next());
} //SortedSet<E> tailSet(E fromElement) 返回此 set 的部分视图,其元素大于等于 fromElement。
System.out.println("tailSet");
System.out.println("TreeSet的第三种初始化方法");
TreeSet<Integer>tailset=new TreeSet<>(set.tailSet(3));//输出大于等于3的子集合
Iterator <Integer>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()); // boolean contains(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());
}
}