在本教程中,我们将学习 Java SortedMap
接口及其方法。
Java 集合框架的SortedMap
接口可对存储在映射中的键进行排序。
它扩展了Map
接口。
实现SortedMap
的类
由于SortedMap
是一个接口,因此我们无法从中创建对象。
为了使用SortedMap
接口的功能,我们需要使用实现它的类TreeMap
。
如何使用SortedMap
?
要使用SortedMap
,我们必须首先导入java.util.SortedMap
包。 导入包后,可以按照以下方法创建排序的映射。
// SortedMap implementation by TreeMap class
SortedMap<Key, Value> numbers = new TreeMap<>();
我们使用TreeMap
类创建了一个名为number
的排序映射。
这里,
key
- 用于关联映射中每个元素(值)的唯一标识符value
- 映射中与按键相关联的元素
在这里,我们没有使用任何参数来创建排序的映射。 因此,映射将自然排序(升序)。
SortedMap
的方法
SortedMap
接口包含Map
接口的所有方法。 这是因为Map
是SortedMap
的超级接口。
除了所有这些方法,以下是SortedMap
接口专用的方法。
comparator()
- 返回一个可用于对映射中的键进行排序的比较器firstKey()
- 返回已排序映射的第一个键lastKey()
- 返回已排序映射的最后一个键headMap(key)
- 返回其键号小于指定的key
的映射的所有条目tailMap(key)
- 返回其键大于或等于指定的key
的映射的所有条目subMap(key1, key2)
- 返回其键位于key1
和key2
之间的映射的所有条目,包括key1
要了解更多信息,请访问 Java SortedMap
(Java 官方文档)。
TreeMap
类中SortedMap
的实现
import java.util.SortedMap;
import java.util.TreeMap;
class Main {
public static void main(String[] args) {
// Creating SortedMap using TreeMap
SortedMap<String, Integer> numbers = new TreeMap<>();
// Insert elements to map
numbers.put("Two", 2);
numbers.put("One", 1);
System.out.println("SortedMap: " + numbers);
// Access the first key of the map
System.out.println("First Key: " + numbers.firstKey());
// Access the last key of the map
System.out.println("Last Key: " + numbers.lastKey());
// Remove elements from the map
int value = numbers.remove("One");
System.out.println("Removed Value: " + value);
}
}
输出
SortedMap: {One=1, Two=2}
First Key: One
Last Key: Two
Removed Value: 1
要了解有关TreeMap
的更多信息,请访问 Java TreeMap 。
现在我们知道了SortedMap
接口,我们将使用TreeMap
类学习其实现。