Java中的 SortedSet subSet() 方法
Java中 SortedSet 接口的 subSet() 方法用于返回该集合部分的视图,该部分的元素范围从 fromElement(包括)到 toElement(不包括)。
- 此方法返回的集合由此集合支持,因此返回集合中的更改会反映在此集合中,反之亦然。
- 此方法返回的集合支持该集合支持的所有可选集合操作。
注意:如果尝试在其范围之外插入元素,则此方法返回的集合将引发IllegalArgumentException 。
语法:
SortedSet subSet(E fromElement,
E toElement)
其中,E 是这个 Set 维护的元素的类型。
参数:此函数接受两个参数fromElement和toElement ,它们分别代表返回集合的低端点(包括)和高端点(不包括)。
返回值:它返回作为参数传递的fromElement和toElement之间的元素。
例外:
- 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)