В этом руководстве мы узнаем об интерфейсе Java NavigableMap и его методах с помощью примера.
NavigableMap
Интерфейс рамок коллекций Java предоставляет возможности для навигации среди записей карты.
Он считается разновидностью SortedMap.
Класс, реализующий NavigableMap
Поскольку NavigableMap
это интерфейс, мы не можем создавать из него объекты.
Чтобы использовать функции NavigableMap
интерфейса, нам нужно использовать TreeMap
класс, который реализует NavigableMap
.
Как использовать NavigableMap?
В Java мы должны импортировать используемый java.util.NavigableMap
пакет NavigableMap
. После импорта пакета вот как мы можем создать карту с возможностью навигации.
// NavigableMap implementation by TreeMap class NavigableMap numbers = new TreeMap();
В приведенном выше коде мы создали карту с возможностью навигации с именами TreeMap
классов.
Вот,
- Ключ - уникальный идентификатор, используемый для связи каждого элемента (значения) на карте.
- Значение - элементы, связанные ключами на карте
Методы NavigableMap
NavigableMap
Рассматривается как тип SortedMap
. Это потому, что NavigableMap
расширяет SortedMap
интерфейс.
Следовательно, все SortedMap
методы также доступны в формате NavigableMap
. Чтобы узнать, как эти методы определены в SortedMap
, посетите Java SortedMap.
Тем не менее, некоторые из методов SortedMap
( headMap()
, tailMap()
и subMap()
) определяется по- разному в NavigableMap
.
Давайте посмотрим, как эти методы определены в NavigableMap
.
headMap (ключ, логическое значение)
В headMap()
методе возвращает все записи из судоходных карт , связанных со всеми этими ключами до указанного ключа (который передается в качестве аргумента).
BooleanValue - необязательный параметр. Его значение по умолчанию false
.
Если true
передается как booleanValue, метод возвращает все записи, связанные со всеми этими ключами до указанного ключа, включая запись, связанную с указанным ключом.
tailMap (ключ, логическое значение)
В tailMap()
методе возвращает все записи из судоходных карт , связанных со всеми этими ключами после указанного ключа (который передается в качестве аргумента) , включая записи , связанные с указанным ключом.
BooleanValue - необязательный параметр. Его значение по умолчанию true
.
Если false
передается как booleanValue, метод возвращает все записи, связанные с этими ключами после указанного ключа, без включения записи, связанной с указанным ключом.
subMap (k1, bv1, k2, bv2)
В subMap()
метод возвращает все записи , связанные с ключами между k1 и k2 , включая записи , связанные с k1.
Параметры bv1 и bv2 являются необязательными. Значение по умолчанию для bv1 - истина, а значение по умолчанию для bv2 - false
.
Если false
передано как bv1, метод возвращает все записи, связанные с ключами от k1 до k2, без включения записи, связанной с k1.
Если true
передано как bv2, метод возвращает все записи, связанные с ключами от k1 до k2, включая запись, связанную с k1.
Другие методы
NavigableMap
Предоставляют различные методы , которые могут быть использованы для поиска записи карт.
- DecndingMap () - изменить порядок записей на карте
- desndingKeyMap () - меняет порядок ключей на карте на обратный
- потолокEntry () - возвращает запись с наименьшим ключом среди всех тех записей, ключи которых больше или равны указанному ключу
- потолокKey () - возвращает самый низкий ключ среди тех ключей, которые больше или равны указанному ключу
- floorEntry () - возвращает запись с наивысшим ключом среди всех тех записей, ключи которых меньше или равны указанному ключу
- floorKey () - возвращает самый высокий ключ среди тех ключей, которые меньше или равны указанному ключу
- upperEntry () - возвращает запись с наименьшим ключом среди всех тех записей, ключи которых больше указанного ключа
- upperKey () - возвращает самый низкий ключ среди тех ключей, которые больше указанного ключа
- lowerEntry () - возвращает запись с наивысшим ключом среди всех тех записей, ключи которых меньше указанного ключа
- lowerKey () - возвращает самый высокий ключ среди тех ключей, которые меньше указанного ключа
- firstEntry () - возвращает первую запись (запись с наименьшим ключом) карты
- lastEntry () - возвращает последнюю запись (запись с наивысшим ключом) карты
- pollFirstEntry () - возвращает и удаляет первую запись карты
- pollLastEntry () - возвращает и удаляет последнюю запись карты
Чтобы узнать больше, посетите Java NavigableMap (официальная документация по Java).
Реализация NavigableMap в классе TreeMap
import java.util.NavigableMap; import java.util.TreeMap; class Main ( public static void main(String() args) ( // Creating NavigableMap using TreeMap NavigableMap numbers = new TreeMap(); // Insert elements to map numbers.put("Two", 2); numbers.put("One", 1); numbers.put("Three", 3); System.out.println("NavigableMap: " + numbers); // Access the first entry of the map System.out.println("First Entry: " + numbers.firstEntry()); // Access the last entry of the map System.out.println("Last Entry: " + numbers.lastEntry()); // Remove the first entry from the map System.out.println("Removed First Entry: " + numbers.pollFirstEntry()); // Remove the last entry from the map System.out.println("Removed Last Entry: " + numbers.pollLastEntry()); ) )
Вывод
NavigableMap: (One = 1, Three = 3, Two = 2) Первая запись: One = 1 Последняя запись: Two = 2 Удаленная первая запись: One = 1 Удаленная последняя запись: Two = 2
Чтобы узнать больше TreeMap
, посетите Java TreeMap.
Теперь, когда мы знаем об NavigableMap
интерфейсе, мы подробно узнаем о его реализации с помощью TreeMap
класса в следующем руководстве.