Інтерфейс 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

The NavigableMapрозглядається як різновид SortedMap. Це тому, що NavigableMapрозширює SortedMapінтерфейс.

Отже, усі SortedMapметоди також доступні в NavigableMap. Щоб дізнатись, як визначено ці методи SortedMap, відвідайте Java SortedMap.

Тим НЕ менше, деякі з методів SortedMap( headMap(), tailMap()і subMap()) визначається по- різному в NavigableMap.

Давайте подивимося, як ці методи визначені в NavigableMap.

headMap (key, booleanValue)

У headMap()методі повертає всі записи з судноплавних карт , пов'язаних з усіма цими ключами до зазначеного ключа (який передається в якості аргументу).

BooleanValue - необов'язковий параметр. Значення за замовчуванням - false.

Якщо trueпередано як booleanValue, метод повертає всі записи, пов’язані з усіма цими ключами до вказаного ключа, включаючи запис, пов’язаний із зазначеним ключем.

tailMap (key, booleanValue)

У tailMap()методі повертає всі записи з судноплавних карт , пов'язаних з усіма цими ключами після зазначеного ключа (який передається в якості аргументу) , включаючи записи , пов'язані з вказаним ключем.

BooleanValue - необов'язковий параметр. Значення за замовчуванням - true.

Якщо falseпередано як booleanValue, метод повертає всі записи, пов'язані з цими ключами після вказаного ключа, не включаючи запис, пов'язаний із зазначеним ключем.

підкарта (k1, bv1, k2, bv2)

У subMap()метод повертає всі записи , пов'язані з ключами між k1 і k2 , включаючи записи , пов'язані з k1.

Bv1 та bv2 є необов’язковими параметрами. Значення за замовчуванням bv1 істинне, а значення bv2 за замовчуванням false.

Якщо falseпередано як bv1, метод повертає всі записи, пов'язані з ключами між k1 і k2, не включаючи запис, пов'язаний з k1.

Якщо trueпередано як bv2, метод повертає всі записи, пов'язані з ключами між k1 і k2, включаючи запис, пов'язаний з k1.

Інші методи

NavigableMapНадають різні методи , які можуть бути використані для пошуку запису карт.

  • descendingMap () - змінити порядок записів на карті
  • descendingKeyMap () - змінює порядок ключів на карті
  • plaEntry () - повертає запис із найнижчим ключем серед усіх тих записів, ключі яких більші або дорівнюють вказаному ключу
  • plafonKey () - повертає найнижчий ключ серед тих ключів, які більше або дорівнюють вказаному ключу
  • floorEntry () - повертає запис із найвищим ключем серед усіх тих записів, ключі яких менше або дорівнюють вказаному ключу
  • floorKey () - повертає найвищий ключ серед тих ключів, які менше або дорівнюють вказаному ключу
  • higherEntry () - повертає запис із найнижчим ключем серед усіх записів, ключі яких перевищують вказаний ключ
  • higherKey () - повертає найнижчий ключ серед тих ключів, які перевищують вказаний ключ
  • 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) Перший запис: Один = 1 Останній запис: Два = 2 Видалено Перший запис: Один = 1 Видалено Останній запис: Два = 2 

Щоб дізнатись більше про це TreeMap, відвідайте Java TreeMap.

Тепер ми знаємо про NavigableMapінтерфейс, ми дізнаємося про його реалізацію, TreeMapдетально використовуючи клас у наступному уроці.

Цікаві статті...