Интерфейс Java NavigableMap

В этом руководстве мы узнаем об интерфейсе 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класса в следующем руководстве.

Интересные статьи...