NavigableSet<E> subSet(E fromElement, boolean fromInclusive, E toElement, boolean toInclusive)
描述 (Description)
subSet(E fromElement,boolean fromInclusive,E toElement,boolean toInclusive)方法用于返回此set的部分视图,其元素范围从fromElement到toElement。 如果fromElement和toElement相等,则返回的集合为空,除非fromExclusive和toExclusive都为真。
声明 (Declaration)
以下是java.util.TreeSet.subSet()方法的声明。
public NavigableSet<E> subSet(E fromElement,boolean fromInclusive,E toElement,boolean toInclusive)
参数 (Parameters)
fromElement - 这是返回集的低端点。
fromInclusive - 如果要将低端点包含在返回的视图中,则为true。
toElement - 这是返回集的高端点。
toInclusive - 如果toInclusive高端点包含在返回的视图中,则为true。
返回值 (Return Value)
方法调用返回此set的部分视图,其元素范围从fromElement(包括)到toElement(不包括)。
异常 (Exception)
ClassCastException - 如果使用此set的比较器无法将fromElement和toElement相互比较,则抛出此异常。
NullPointerException - 如果fromElement或toElement为null并且此set使用自然排序,或者其比较器不允许null元素,则抛出此异常。
IllegalArgumentException - 如果fromElement大于toElement,则抛出此异常; 或者如果此集合本身具有受限范围,并且fromElement或toElement位于范围的边界之外。
例子 (Example)
以下示例显示了java.util.TreeSet.subSet()方法的用法。
package com.iowiki;
import java.util.TreeSet;
import java.util.Iterator;
public class TreeSetDemo {
public static void main(String[] args) {
// creating a TreeSet
TreeSet <Integer>treeadd = new TreeSet<Integer>();
TreeSet <Integer>treesubset = new TreeSet<Integer>();
// adding in the tree set
treeadd.add(1);
treeadd.add(2);
treeadd.add(3);
treeadd.add(4);
treeadd.add(5);
treeadd.add(6);
treeadd.add(7);
treeadd.add(8);
// creating subset
treesubset = (TreeSet)treeadd.subSet(3, true, 7, true);
// create iterator
Iterator iterator;
iterator = treesubset.iterator();
// displaying the Tree set data
System.out.println("Tree subset data: ");
while (iterator.hasNext()) {
System.out.println(iterator.next() + " ");
}
}
}
让我们编译并运行上面的程序,这将产生以下结果。
Tree subset data:
3
4
5
6
7