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]