Java.util.TreeSet 类

java.util.TreeSet.subList() 方法返回此集合中元素范围为 fromElement 的部分的视图,包含,到 toElement,排除。 (如果 fromElement 和 toElement 相等,则返回的集合为空。)返回的集合由该集合支持,因此返回集合中的更改会反映在该集合中,反之亦然。返回的集合支持该集合支持的所有可选集合操作。

语法

public SortedSet<E> subSet(E fromElement, 
                           E toElement)

这里,E 是容器维护的元素类型。

参数

fromElement 指定返回集合的低端点(含)。
toElement 指定返回集合的高端点(不包括)。

返回值

返回此列表中指定范围的视图。

异常

  • 抛出ClassCastException,如果来自Element并且 toElement 无法使用该集合的比较器进行相互比较(或者,如果该集合没有比较器,则使用自然排序)。
  • 如果 fromElement 或 toElement 为 null,则抛出 NullPointerException并且此集合使用自然排序,或其比较器不允许 null 元素。
  • 如果 fromElement 大于 toElement,则抛出 IllegalArgumentException;或者如果此集合本身有一个受限制的范围,并且 fromElement 或 toElement 位于该范围的边界之外。

示例:

在下面的示例中,java.util.TreeSet.subList() 方法返回给定树集部分的视图。

import java.util.*;

public class MyClass {
  public static void main(String[] args) {
    //创建树集
    TreeSet<Integer> MySet = new TreeSet<Integer>();
    TreeSet<Integer> MySubSet = new TreeSet<Integer>();

    //填充集合
    MySet.add(10);
    MySet.add(20);
    MySet.add(-30);
    MySet.add(40);
    MySet.add(50);
    MySet.add(-60);
    MySet.add(70);  
     
    //打印集合
    System.out.println("MySet contains: "+ MySet);    

    //创建集合的部分视图
    MySubSet = (TreeSet<Integer>)MySet.subSet(10, 50);

    //打印子集
    System.out.println("MySubSet contains: "+ MySubSet);  
  }
}

上述代码的输出将是:

MySet contains: [-60, -30, 10, 20, 40, 50, 70]
MySubSet contains: [10, 20, 40]