📜  Java中的 SortedSet subSet() 方法

📅  最后修改于: 2022-05-13 01:54:25.452000             🧑  作者: Mango

Java中的 SortedSet subSet() 方法

Java中 SortedSet 接口的 subSet() 方法用于返回该集合部分的视图,该部分的元素范围从 fromElement(包括)到 toElement(不包括)。

  • 此方法返回的集合由此集合支持,因此返回集合中的更改会反映在此集合中,反之亦然。
  • 此方法返回的集合支持该集合支持的所有可选集合操作。

注意:如果尝试在其范围之外插入元素,则此方法返回的集合将引发IllegalArgumentException

语法

SortedSet subSet(E fromElement,
                    E toElement)

其中,E 是这个 Set 维护的元素的类型。

参数:此函数接受两个参数fromElementtoElement ,它们分别代表返回集合的低端点(包括)和高端点(包括)。

返回值:它返回作为参数传递的fromElementtoElement之间的元素。

例外

  • ClassCastException :如果 fromElement 与该集合的比较器不兼容(或者,如果集合没有比较器,如果 fromElement 未实现 Comparable),则抛出 ClassCastException。
  • NullPointerException :如果参数fromElement为 null,则抛出 NullPointerException。
  • IllegalArgumentException :它抛出一个 IllegalArgumentException 这个集合本身有一个受限的范围,并且参数fromElement位于范围的范围之外。

下面的程序说明了上述方法:

程序 1

// A Java program to demonstrate
// working of SortedSet
import java.util.SortedSet;
import java.util.TreeSet;
  
public class Main {
    public static void main(String[] args)
    {
        // Create a TreeSet and inserting elements
        SortedSet s = new TreeSet<>();
  
        // Adding Element to SortedSet
        s.add(1);
        s.add(5);
        s.add(2);
        s.add(3);
        s.add(9);
  
        // Returning the set with elements
        // ranging between the passed value
        System.out.print("Elements range between 2 and 9 in set are : "
                         + s.subSet(2, 9));
    }
}
输出:
Elements range between 2 and 9 in set are : [2, 3, 5]

方案二

// A Java program to demonstrate
// working of SortedSet
import java.util.SortedSet;
import java.util.TreeSet;
  
public class Main {
    public static void main(String[] args)
    {
        // Create a TreeSet and inserting elements
        SortedSet s = new TreeSet<>();
  
        // Adding Element to SortedSet
        s.add("Geeks");
        s.add("For");
        s.add("Geeks");
        s.add("Code");
        s.add("It");
  
        // Returning the set with elements
        // ranging between the passed value
        System.out.print("Elements between C and G in set is : "
                         + s.subSet("C", "G"));
    }
}
输出:
Elements between C and G in set is : [Code, For]

参考:https: Java/util/SortedSet.html#subSet(E)