English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Основной учебник 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 и его методы.

Интерфейс SortedMap в Java Collection Framework позволяет сортировать ключи, хранящиеся в мапе.

Он наследуетИнтерфейс Map.

Классы, реализующие SortedMap

Потому что SortedMap является интерфейсом,所以我们不能从它创建对象。

Чтобы использовать функции интерфейса SortedMap, нам нужно использовать класс TreeMap, реализующий его.

Как использовать SortedMap?

Чтобы использовать SortedMap,我们必须 сначала импортировать пакет java.util.SortedMap. После импорта пакета можно создать отсортированную карту следующим образом.

// Реализация SortedMap предоставляется классом TreeMap
SortedMap<Key, Value> numbers = new TreeMap<>();

мы создали отсортированную карту numbers с помощью класса TreeMap.

Здесь,

  • Key - уникальный идентификатор, используемый для связи каждого элемента (значения) в карте

  • Value - элемент, связанный с ключом в карте

Здесь мы не используем никаких параметров для создания отсортированной карты. Поэтому карта будет автоматически отсортирована (в порядке возрастания).

Методы SortedMap

Интерфейс SortedMap содержит все методы интерфейса Map. Это потому, что Map является супер-интерфейсом SortedMap.

Кроме всех этих методов, здесь есть и методы, специфичные для интерфейса SortedMap.

  • comparator() - возвращать сравнитель, который можно использовать для сортировки ключей в карте

  • firstKey() - возвращать первый ключ уже отсортированной карты

  • lastKey() - возвращать последний ключ уже отсортированной карты

  • headMap(key) - возвращать все элементы карты с ключами, которые меньше заданного ключа key

  • tailMap(key) - возвращать все элементы карты с ключами, которые больше или равны заданному ключу key

  • subMap(key1, key2) - возвращать все элементы карты с ключами между key1 и key2 (включая key1)

Реализация SortedMap в классе TreeMap

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 для изучения его реализации.