Java NavigableSet subSet()方法

Java NavigableSet subSet()方法

Java中NavigableSet接口的headSet()方法是用来返回这个集合中元素范围为fromElement到toElement的部分的视图。

  • 如果fromElement和toElement相等,返回的集合是空的,除非fromInclusive和toInclusive都为真。
  • 返回的集合是由这个集合支持的,所以返回的集合的变化会反映在这个集合中,反之亦然。
  • 返回的集合支持这个集合支持的所有可选的集合操作。

注意 :如果试图插入一个超出其范围的元素,返回的集合将抛出一个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。

// 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<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("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<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("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://docs.oracle.com/javase/10/docs/api/java/util/NavigableSet.html#subSet(E, E)

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程