在本教程中,我们将学习Java SortedMap接口及其方法。
Java集合框架的SortedMap接口可对存储在映射中的键进行排序。
它继承了Map接口。

因为SortedMap是一个接口,所以我们不能从它创建对象。
为了使用SortedMap接口的功能,我们需要使用实现它的类TreeMap。

要使用SortedMap,我们必须先导入java.util.SortedMap包。导入包后,可以按照以下方法创建排序后的map。
// SortedMap实现由TreeMap类 SortedMap<Key, Value> numbers = new TreeMap<>();
我们使用TreeMap类创建了一个名为numbers的排序映射。
这里,
Key - 用于关联映射中的每个元素(值)的唯一标识符
Value - map中与键相关联的元素
在这里,我们没有使用任何参数来创建排序的映射。 因此,映射将自然排序(升序)。
SortedMap接口包含Map接口的所有方法。 这是因为Map是SortedMap的超级接口。
除了所有这些方法之外,这里还有SortedMap接口专用的方法。
comparator() - 返回一个比较器,可用于对映射中的键进行排序
firstKey() - 返回已排序映射的第一个键
lastKey() - 返回已排序映射的最后一个键
headMap(key) - 返回其键小于指定键key的映射的所有条目
tailMap(key) - 返回其键大于或等于指定键key的映射的所有条目
subMap(key1,key2) -返回其键位于key1和key2之间(包括key1)的映射的所有条目
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要了解更多信息TreeMap,请访问Java TreeMap。
既然我们了解SortedMap接口,我们将使用TreeMap类学习其实现。