English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
В этом руководстве мы изучим пример Java NavigableMap интерфейса и его методы.
Интерфейс NavigableMap в Java集合 фреймворке предоставляет функциональность навигации между элементами карты.
Это считаетсяSortedMapодин из типов.
Поскольку NavigableMap является интерфейсом, из него нельзя создать объект.
Для использования функций интерфейса NavigableMap нам нужно использовать класс TreeMap, который реализует NavigableMap.
В Java我们必须导入java.util.NavigableMap пакет, чтобы использовать NavigableMap. После импорта пакета, NavigableMap можно создать следующим образом.
// NavigableMap由TreeMap类实现 NavigableMap<Key, Value> numbers = new TreeMap<>();
В приведенном выше коде мы создали навигируемую карту класса TreeMap с именем numbers.
Здесь:
Key - уникальный идентификатор, используемый для ассоциации каждого элемента (значения) в карте
Value - элемент, связанный с ключом в карте
NavigableMap рассматривается как тип SortedMap. Это потому, что NavigableMap наследует интерфейс SortedMap.
Таким образом, в NavigableMap также можно использовать все методы SortedMap. Чтобы узнать, как определить эти методы в SortedMap, пожалуйста, обратитесь кJava SortedMap.
Однако в NavigableMap определены некоторые методы SortedMap по-другому (headMap(), tailMap() и subMap()).
Давайте посмотрим, как определить эти методы NavigableMap.
Метод headMap() возвращает все элементы, связанные с ключами до указанного ключа (key).
booleanValue является опциональным параметром. Значением по умолчанию является false.
Если booleanValue равен true, то этот метод возвращает все элементы, связанные с ключами до указанного ключа (key), включая элементы, связанные с указанным ключом (key).
Метод tailMap() возвращает все элементы, связанные с ключами после указанного ключа (key), включая элементы, связанные с указанным ключом (key).
booleanValue является опциональным параметром. Значением по умолчанию является true.
Если booleanValue равен false, то этот метод возвращает все элементы, связанные с ключами после указанного ключа (key), но не включая элементы, связанные с указанным ключом (key).
Метод subMap() возвращает все элементы, связанные с ключами k1 и k2, включая элементы, связанные с k1.
bv1 и bv2 являются опциональными параметрами. Значением по умолчанию для bv1 является true, для bv2 - false.
Если bv1 равен false, то этот метод возвращает все элементы, связанные с ключами k1 и k2, но не включая элементы, связанные с k1.
Если bv2 равен true, то этот метод возвращает все элементы, связанные с ключами k1 и k2, включая элементы, связанные с k1.
NavigableMap предоставляет различные методы, которые можно использовать для定位 элементов карты.
DescendingMap() - обратный порядок записей карты
DescendingKeyMap() - обратный порядок ключей карты
ceilingEntry() - возвращает запись с минимальным ключом из всех записей с ключом, не меньшего, чем указанного ключа
ceilingKey() - возвращает минимальный ключ, не меньшего, чем указанный ключ
floorEntry() - возвращает запись с максимальным ключом из всех записей с ключом, не большего, чем указанного ключа
floorKey() - возвращает максимальный ключ, не большего, чем указанный ключ
HigherEntry() - возвращает запись с минимальным ключом из всех записей с ключом, большим указанного ключа
HigherKey() - возвращает минимальный ключ, больший чем указанный ключ
lowerEntry() - возвращает запись с максимальным ключом из всех записей с ключом, меньшим указанного ключа
lowerKey() - возвращает максимальный ключ, меньший niż указанный ключ
firstEntry() - возвращает первую запись карты (элемент с минимальным ключом)
lastEntry() - возвращает последнюю запись карты (элемент с максимальным ключом)
pollFirstEntry() - возвращает и удаляет первую запись карты
pollLastEntry() - возвращает и удаляет последнюю запись карты
import java.util.NavigableMap; import java.util.TreeMap; class Main { public static void main(String[] args) { //использование TreeMap для создания NavigableMap NavigableMap<String, Integer> numbers = new TreeMap<>(); //вставка элементов в map numbers.put("Two", 2); numbers.put("One", 1); numbers.put("Three", 3); System.out.println("NavigableMap: " + numbers); //доступ к первому элементу карты System.out.println("первый элемент: " + numbers.firstEntry()); //доступ к последнему элементу карты System.out.println("Последний элемент: " + numbers.lastEntry()); //Удалить первый элемент из отображения System.out.println("Удалить первый элемент: " + numbers.pollFirstEntry()); //Удалить последний элемент из карты System.out.println("Удалить последний элемент: " + numbers.pollLastEntry()); } }
Результат вывода
NavigableMap: {One=1, Three=3, Two=2} Первый элемент: One=1 Последний элемент: Two=2 Удалить первый элемент: One=1 Удалить последний элемент: Two=2
Чтобы узнать больше о TreeMap, пожалуйста, посетитеJava TreeMap.
Теперь мы знаем интерфейс NavigableMap, и в следующем уроке мы будем использовать класс TreeMap, чтобы подробно изучить его реализацию.