Java SortedSet 接口

SortedSet 接口是一个保证元素顺序的 Set。在本教程中,我们将通过示例了解 Java 中的 SortedSet 接口及其方法。

在本教程中,我们将通过示例了解 Java 中的 SortedSet 接口及其方法。

SortedSet 接口是一个保证元素顺序的 Set。 SortedSet 接口实现了 Set 接口,像 Set 一样,其中的元素是不能重复的。

Java SortedSet 接口扩展了 Set 接口

SortedSet 的实现类

在 Java 集合框架中,只提供了 TreeSet 类实现了 SortedSet 接口。

Java TreeSet 类实现了 SortedSet 接口

如何使用 SortedSet?

我们先导入 java.util.SortedSet 类和实现类,然后通过 SortedSet 的实现类创建对象:

SortedSet<String> animals = new TreeSet<>();

我们使用 TreeSet 类创建了一个 SortedSet 实例 animals

这里我们创建 TreeSet 的时候没有使用任何比较器,因此集合元素将自然排序。

SortedSet 的方法

除了 SortedSet 接口继承的 Set 接口的所有方法,SortedSet 还提供了以下方法:

  • comparator() - 返回用于对集合中的元素进行排序的比较器对象
  • first() - 返回集合的第一个元素
  • last() - 返回集合的最后一个元素
  • headSet(element) - 返回集合中指定元素之前的所有元素,不包括指定元素
  • tailSet(element) - 返回指定元素之后集合的所有元素,包括指定元素
  • subSet(element1, element2) - 返回 element1 (不包含) 和 element2 (包含) 元素之间的所有元素

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);
    System.out.println("SortedSet: " + numbers);

    // 第一个元素
    int firstNumber = numbers.first();
    System.out.println("First Number: " + firstNumber);
    // 最后一个元素
    int lastNumber = numbers.last();
    System.out.println("Last Number: " + lastNumber);

    // 删除元素
    boolean result = numbers.remove(2);
    System.out.println("Is the number 2 removed? " + result);
  }
}

输出

SortedSet: [1, 2, 3, 4]
First Number: 1
Last Number: 4
Is the number 2 removed? true

现在我们了解了 SortedSet 接口,我们下面要学习它的实现类 TreeSet