Java中的SortedSet子集方法
在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 :如果此集合本身具有受限范围,并且参数fromElement位于范围界限之外,则抛出IllegalArgumentException异常。
以下程序演示了上述方法:
程序1 :
// 展示SortedSet示例的Java程序
import java.util.SortedSet;
import java.util.TreeSet;
public class Main {
public static void main(String[] args)
{
// 创建一个TreeSet并插入元素
SortedSet<Integer> s = new TreeSet<>();
// 向SortedSet添加元素
s.add(1);
s.add(5);
s.add(2);
s.add(3);
s.add(9);
// 返回集合元素范围在传递的值之间
System.out.print("Elements range between 2 and 9 in set are : "
+ s.subSet(2, 9));
}
}
范围在2和9之间的集合元素为:[2, 3, 5]
程序2 :
// 展示SortedSet示例的Java程序
import java.util.SortedSet;
import java.util.TreeSet;
public class Main {
public static void main(String[] args)
{
// 创建一个TreeSet并插入元素
SortedSet<String> s = new TreeSet<>();
// 向SortedSet添加元素
s.add("Geeks");
s.add("For");
s.add("Geeks");
s.add("Code");
s.add("It");
// 返回集合元素范围在传递的值之间
System.out.print("Elements between C and G in set is : "
+ s.subSet("C", "G"));
}
}
在集合中C和G之间的元素为:[Code, For]
参考 :https://docs.oracle.com/javase/10/docs/api/java/util/SortedSet.html#subSet(E)
极客教程