Java中的 NavigableSet subSet() 方法
Java中 NavigableSet 接口的 headSet() 方法用于返回该集合中元素范围从fromElement到toElement的部分的视图。
- 如果 fromElement 和 toElement 相等,则返回的集合为空,除非 fromInclusive 和 toInclusive 都为真。
- 返回的集合由该集合支持,因此返回集合中的更改会反映在该集合中,反之亦然。
- 返回的集合支持该集合支持的所有可选集合操作。
注意:返回的集合将在尝试插入超出其范围的元素时抛出 IllegalArgumentException。
语法:
NavigableSet subSet( E fromElement,
boolean fromInclusive,
E toElement,
boolean toInclusive);
其中,E 是此 Set 容器维护的元素的类型。
参数:此函数接受 4 个参数,如下所述:
- fromElement :这是一个强制参数,指定返回集合的低端点。
- fromInclusive :这是一个可选参数,是布尔类型。如果设置为 True,则返回视图中将包含低端点,否则不包含。
- toElement :他是一个强制参数,指定返回集合的高端点。
- toInclusive :这是可选参数,是布尔类型。如果设置为 True,则返回视图中将包含低端点,否则不包含。
返回值:它返回该集合的一部分的视图,其元素范围从 fromElement 到 toElement。
下面的程序说明了Java中的 subSet() 方法:
程序 1 :具有整数元素的 NavigableSet。
// A Java program to demonstrate
// subSet() method of NavigableSet
import java.util.NavigableSet;
import java.util.TreeSet;
public class GFG {
public static void main(String[] args)
{
NavigableSet 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("Map with key-value between the given argument : "
+ ns.subSet(1, 6));
System.out.println("Map with key-value between the given argument : "
+ ns.subSet(2, 6));
}
}
输出:
Map with key-value between the given argument : [1, 2, 3, 4, 5]
Map with key-value between the given argument : [2, 3, 4, 5]
程序 2:带有字符串元素的 NavigableSet。
// A Java program to demonstrate
// subSet() method of NavigableSet
import java.util.NavigableSet;
import java.util.TreeSet;
public class GFG {
public static void main(String[] args)
{
NavigableSet 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("Map with key-value between the given range : "
+ ns.subSet("B", "G"));
}
}
输出:
Map with key-value between the given range : [B, C, D, E, F]
参考:https: Java/util/NavigableSet.html#subSet(E, E)