Java 菜鸟教程

Java 流程控制

Java 数组

Java 面向对象(I)

Java 面向对象(II)

Java 面向对象(III)

Java 异常处理

Java 列表(List)

Java Queue(队列)

Java Map集合

Java Set集合

Java 输入输出(I/O)

Java Reader/Writer

Java 其他主题

Java SortedMap 接口

在本教程中,我们将学习Java SortedMap接口及其方法。

Java集合框架的SortedMap接口可对存储在映射中的键进行排序。

它继承了Map接口

Java SortedMap接口扩展了Map接口。

实现SortedMap的类

因为SortedMap是一个接口,所以我们不能从它创建对象。

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

Java TreeMap类实现SortedMap接口。

如何使用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类学习其实现。