Java中TreeSet的基本操作

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

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

构造方法摘要
TreeSet() 
          构造一个新的空 set,该 set 根据其元素的自然顺序进行排序。
TreeSet(Collection<? extends E> c) 
          构造一个包含指定 collection 元素的新 TreeSet,它按照其元素的自然顺序进行排序。
TreeSet(Comparator<? super E> comparator) 
          构造一个新的空 TreeSet,它根据指定比较器进行排序。
TreeSet(SortedSet<E> s) 
          构造一个与指定有序 set 具有相同映射关系和相同排序的新 TreeSet。

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
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());
 }
}

  

 

posted @   樟樟22  阅读(1971)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示