В този урок ще научим за интерфейса на 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 (ключ, booleanValue)
На headMap()
връща метод всички записи на плавателна карта, свързана с всички тези ключове преди определен ключ (който се предава като аргумент).
BooleanValue е незадължителен параметър. Стойността му по подразбиране е false
.
Ако true
се предаде като booleanValue, методът връща всички записи, свързани с всички тези ключове преди посочения ключ, включително записа, свързан с посочения ключ.
tailMap (ключ, 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 () - обръща реда на ключовете в картата
- таванEntry () - връща запис с най-ниския ключ сред всички тези записи, чиито ключове са по-големи или равни на посочения ключ
- таванKey () - връща най-ниския ключ сред тези ключове, които са по-големи или равни на посочения ключ
- 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) First Entry: One = 1 Last Entry: Two = 2 Removed First Entry: One = 1 Removed Last Entry: Two = 2
За да научите повече за TreeMap
, посетете Java TreeMap.
Сега знаем за NavigableMap
интерфейса, ще научим за неговото изпълнение, като използваме TreeMap
класа подробно в следващия урок.