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