java.util.TreeSet.subSet() 方法

描述

subSet(E fromElement,boolean fromInclusive,E toElement,boolean toInclusive) 方法用于返回该集合中元素范围从fromElement 到toElement 的部分的视图。 如果 fromElement 和 toElement 相等,则返回的集合为空,除非 fromExclusive 和 toExclusive 都为真。


声明

以下是 java.util.TreeSet.subSet() 方法的声明。

public NavigableSet<E> subSet(E fromElement,boolean fromInclusive,E toElement,boolean toInclusive)

参数

  • fromElement − 这是返回集的低端点。

  • fromInclusive − 如果要在返回的视图中包含低端点,则为 true。

  • toElement − 这是返回集的高端点。

  • toInclusive − 如果要在返回的视图中包含高端端点,这是正确的。


返回值

该方法调用返回此集合的一部分的视图,其元素范围从 fromElement(包括)到 toElement(不包括)。


异常

  • ClassCastException − 如果无法使用该集合的比较器将 fromElement 和 toElement 相互比较,则会引发此错误。

  • NullPointerException − 如果 fromElement 或 toElement 为 null 并且此 set 使用自然排序,或者其比较器不允许 null 元素,则会抛出此错误。

  • IllegalArgumentException − 如果 fromElement 大于 toElement,则抛出此错误; 或者如果此集合本身具有受限范围,并且 fromElement 或 toElement 位于范围的范围之外。


示例

下面的例子展示了 java.util.TreeSet.subSet() 方法的使用。

package com.tutorialspoint;

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