跳到主要内容

Java SortedMap 接口

提示
  1. SortedMap 接口概述:Java的SortedMap接口是Map接口的扩展,提供了对映射中的键进行排序的功能。
  2. SortedMap的实现和使用TreeMap类实现了SortedMap接口。要使用SortedMap,需要导入java.util.SortedMap包,并通过TreeMap创建排序映射。
  3. SortedMap的特定方法SortedMap包含特有的方法,如comparator()firstKey()lastKey()headMap(key)tailMap(key)subMap(key1, key2),这些方法用于处理排序映射中的键和值。

Java 集合框架中的 SortedMap 接口提供了对存储在映射中的键进行排序的功能。

它扩展了 Map 接口

Java SortedMap 接口扩展了 Map 接口。

实现 SortedMap 的类

由于 SortedMap 是一个接口,我们无法从中创建对象。

为了使用 SortedMap 接口的功能,我们需要使用实现了它的 TreeMap 类。

Java TreeMap 类实现了 SortedMap 接口。

如何使用 SortedMap?

要使用 SortedMap,我们首先必须导入 java.util.SortedMap 包。一旦我们导入了包,下面是我们如何创建一个排序映射的方法。

// 通过 TreeMap 类实现 SortedMap
SortedMap<Key, Value> numbers = new TreeMap<>();

我们使用 TreeMap 类创建了一个名为 numbers 的排序映射。

这里,

  • Key - 用于在映射中关联每个元素(值)的唯一标识符
  • Value - 由键在映射中关联的元素

这里,我们没有使用任何参数来创建排序映射。因此,映射将按自然顺序(升序)排序。

SortedMap 的方法

SortedMap 接口包括 Map 接口的所有方法。这是因为 MapSortedMap 的超接口。

除了所有这些方法之外,这里是 SortedMap 接口特有的方法。

  • comparator() - 返回一个可用于对映射中的键进行排序的比较器
  • firstKey() - 返回排序映射的第一个键
  • lastKey() - 返回排序映射的最后一个键
  • headMap(key) - 返回所有键小于指定 key 的映射条目
  • tailMap(key) - 返回所有键大于或等于指定 key 的映射条目
  • subMap(key1, key2) - 返回所有键位于 key1key2 之间的映射条目,包括 key1

要了解更多,请访问 Java SortedMap(官方 Java 文档)

TreeMap 类中 SortedMap 的实现

import java.util.SortedMap;
import java.util.TreeMap;

class Main {

public static void main(String[] args) {
// 使用 TreeMap 创建 SortedMap
SortedMap<String, Integer> numbers = new TreeMap<>();

// 向映射中插入元素
numbers.put("Two", 2);
numbers.put("One", 1);
System.out.println("SortedMap: " + numbers);


// 访问映射的第一个键
System.out.println("第一个键: " + numbers.firstKey());

// 访问映射的最后一个键
System.out.println("最后一个键: " + numbers.lastKey());

// 从映射中移除元素
int value = numbers.remove("One");
System.out.println("移除的值: " + value);
}
}

输出

SortedMap: {One=1, Two=2}
第一个键: One
最后一个键: Two
移除的值: 1

这里,我们展示了 SortedMap 接口如何工作。如果你想了解更多关于它的实现,请访问 Java TreeMap