📜  Java中的 SortedSet subSet() 方法(1)

📅  最后修改于: 2023-12-03 15:01:56.923000             🧑  作者: Mango

Java中的 SortedSet subSet() 方法

在JAVA中,SortedSet是一个有序的集合,其中的元素默认按升序排列。subSet(E fromElement, E toElement)SortedSet接口中的一个方法,用于获取集合中从指定元素fromElemnt到指定元素toElemnt之间的子集。该方法返回一个SortedSet对象,其中包含从fromElemnttoElemnt的所有元素。

基本语法
SortedSet<E> subSet(E fromElement, E toElement)

该方法有两个参数:

  • fromElement:要包含在子集中的第一个元素。
  • toElement:要包含在子集中的最后一个元素。

从这两个参数的名称中可以看出,subSet() 方法的返回值是左闭右开区间。也就是说,返回的子集中包含fromElement元素,但不包含toElement元素。

返回值

返回一个新的SortedSet对象,其中包含从fromElementtoElemnt的所有元素。

示例

以下代码展示了如何使用subSet()方法来获取一个SortedSet中指定范围的子集。

import java.util.SortedSet;
import java.util.TreeSet;

public class Main {
    public static void main(String[] args) {

        // 创建一个包含整数的有序集合
        SortedSet<Integer> numbers = new TreeSet<>();

        // 添加一些元素到集合中
        numbers.add(1);
        numbers.add(2);
        numbers.add(3);
        numbers.add(4);
        numbers.add(5);

        //获取子集
        SortedSet<Integer> subSet = numbers.subSet(2, 4);

        //迭代输出子集元素
        for (int number : subSet) {
            System.out.println(number);
        }
    }
}

运行该代码,输出结果为:

2
3

以上代码中,我们首先创建了一个包含整数的有序集合numbers,并向该集合中添加了一些元素。接着,我们使用subSet()方法获取了集合中从24的子集,并将子集存储在subSet变量中。最后,我们迭代输出了子集中的所有元素。

注意事项
  • 在调用subSet()方法之前,必须向SortedSet中添加至少一个元素。否则,将抛出IllegalArgumentException异常。
  • 如果指定的fromElement和toElement的顺序颠倒,则会抛出IllegalArgumentException异常。
  • 如果子集中的元素被修改,则可能出现不可预测的行为。因此,不建议在迭代时修改子集中的元素。
  • 返回的子集对象和原始集合对象共享元素。因此,在修改子集时,原始集合也会受到影响。