Java 中 NavigableSet subSet() 方法
Java 中的 NavigableSet 接口中的 headSet() 方法用于返回集合的部分视图,其元素范围从 fromElement 至 toElement。
- 如果 fromElement 和 toElement 相等,则返回的集合是空的,除非 fromInclusive 和 toInclusive 都为 true。
- 返回的集合由此集合支持,因此返回集合中的更改将反映在此集合中,反之亦然。
- 返回的集合支持此集合支持的所有可选的集合操作。
注意 :试图在其范围之外插入元素时,返回的集合将抛出 IllegalArgumentException 异常。
语法 :
NavigableSet<E> subSet( E fromElement,
boolean fromInclusive,
E toElement,
boolean toInclusive);
其中,E 是此 Set 容器维护的元素类型。
参数 :此函数接受以下 4 个参数解释:
- fromElement :这是一个必需参数,指定返回集合的低端点。
- fromInclusive :这是可选参数,是布尔类型的。如果设置为 True,则返回视图中将包含低端点,否则不包含。
- toElement :这是一个必需参数,指定返回集合的高端点。
- toInclusive :这是可选参数,是布尔类型的。如果设置为 True,则返回视图中将包含高端点,否则不包含。
返回值 :它返回一个视图,该视图的元素范围从 fromElement 到 toElement。
下面的程序说明了在 Java 中的 subSet() 方法:
程序 1 :包含整数元素的 NavigableSet。
// Java 程序,演示 NavigableSet 的 subSet() 方法
import java.util.NavigableSet;
import java.util.TreeSet;
public class GFG {
public static void main(String[] args)
{
NavigableSet<Integer> ns = new TreeSet<>();
ns.add(0);
ns.add(1);
ns.add(2);
ns.add(3);
ns.add(4);
ns.add(5);
ns.add(6);
System.out.println("指定区间范围内的键-值映射为 : "
+ ns.subSet(1, 6));
System.out.println("指定区间范围内的键-值映射为 : "
+ ns.subSet(2, 6));
}
}
指定区间范围内的键-值映射为 : [1, 2, 3, 4, 5]
指定区间范围内的键-值映射为 : [2, 3, 4, 5]
程序 2: 包含字符串元素的 NavigableSet。
// Java 程序,演示 NavigableSet 的 subSet() 方法
importjava.util.NavigableSet;
import java.util.TreeSet;
public class GFG {
public static void main(String[] args)
{
NavigableSet<String> ns = new TreeSet<>();
ns.add("A");
ns.add("B");
ns.add("C");
ns.add("D");
ns.add("E");
ns.add("F");
ns.add("G");
System.out.println("指定区间范围内的键-值映射为 : "
+ ns.subSet("B", "G"));
}
}
指定区间范围内的键-值映射为 : [B, C, D, E, F]
参考 : https://docs.oracle.com/javase/10/docs/api/java/util/NavigableSet.html#subSet(E, E)
极客教程