📜  Java中的 NavigableSet subSet() 方法

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

Java中的 NavigableSet subSet() 方法

Java中 NavigableSet 接口的 headSet() 方法用于返回该集合中元素范围从fromElementtoElement的部分的视图。

  • 如果 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)