У цьому посібнику ми дізнаємося про інтерфейс 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
детально використовуючи клас у наступному уроці.