В този урок ще научим за интерфейса на Java NavigableSet и неговите методи с помощта на пример.
В NavigableSet
интерфейса на рамката на Java Колекции осигурява функции, за да се движите сред поставените елементи.
Той се счита за тип SortedSet.
Клас, който реализира NavigableSet
За да използваме функционалностите на NavigableSet
интерфейса, трябва да използваме TreeSet
класа, който реализира NavigableSet
.
Как да използвам NavigableSet?
В Java трябва да импортираме java.util.NavigableSet
пакета, който да използваме NavigableSet
. След като импортираме пакета, ето как можем да създадем навигационни набори.
// SortedSet implementation by TreeSet class NavigableSet numbers = new TreeSet();
Тук създадохме навигационен набор, наречен номера на TreeSet
класа.
Методи на NavigableSet
The NavigableSet
се разглежда като вид SortedSet
. Това е така, защото NavigableSet
разширява SortedSet
интерфейса.
Следователно всички методи SortedSet са налични и в NavigableSet. За да научите как тези методи, посетете Java SortedSet.
Някои от методите на SortedSet
( headSet()
, tailSet()
и subSet()
) обаче са дефинирани по различен начин в NavigableSet
.
Нека да видим как тези методи са дефинирани в NavigableSet
.
headSet (елемент, booleanValue)
На headSet()
връща метод всички елементи на плавателен сет преди посочения елемент (които се предават като аргумент).
Параметърът booleanValue не е задължителен. Стойността му по подразбиране е false
.
Ако true
се предаде като booleanValue, методът връща всички елементи преди посочения елемент, включително посочения елемент.
tailSet (елемент, booleanValue)
На tailSet()
връща метод всички елементи на плавателен набор след определен елемент (която се предава като аргумент), включително определения елемент.
Параметърът booleanValue не е задължителен. Стойността му по подразбиране е true
.
Ако false
се предаде като booleanValue, методът връща всички елементи след посочения елемент, без да включва посочения елемент.
подмножество (e1, bv1, e2, bv2)
На subSet()
връща метод всички елементи между Е1 и Е2, включително е1.
Bv1 и bv2 са незадължителни параметри. Стойността по подразбиране на bv1 е true
, а стойността по подразбиране на bv2 е false
.
Ако false
се предаде като bv1, методът връща всички елементи между e1 и e2, без да включва e1
.
Ако true
се предаде като bv2, методът връща всички елементи между e1 и e2, включително e1.
Методи за навигация
Предоставя NavigableSet
различни методи, които могат да се използват за навигация над неговите елементи.
- descendingSet () - обръща реда на елементите в набор
- descendingIterator () - връща итератор, който може да се използва за итерация по набор в обратен ред
- таван () - връща най-ниския елемент измежду тези елементи, които са по-големи или равни на посочения елемент
- floor () - връща най-големия елемент измежду тези елементи, които са по-малки или равни на посочения елемент
- higher () - връща най-ниския елемент сред онези елементи, които са по-големи от посочения елемент
- lower () - връща най-големия елемент сред онези елементи, които са по-малко от посочения елемент
- pollFirst () - връща и премахва първия елемент от набора
- pollLast () - връща и премахва последния елемент от набора
За да научите повече за NavigableSet
, посетете Java NavigableSet (официална документация за Java).
Внедряване на NavigableSet в клас TreeSet
import java.util.NavigableSet; import java.util.TreeSet; class Main ( public static void main(String() args) ( // Creating NavigableSet using the TreeSet NavigableSet numbers = new TreeSet(); // Insert elements to the set numbers.add(1); numbers.add(2); numbers.add(3); System.out.println("NavigableSet: " + numbers); // Access the first element int firstElement = numbers.first(); System.out.println("First Number: " + firstElement); // Access the last element int lastElement = numbers.last(); System.out.println("Last Element: " + lastElement); // Remove the first element int number1 = numbers.pollFirst(); System.out.println("Removed First Element: " + number1); // Remove the last element int number2 = numbers.pollLast(); System.out.println("Removed Last Element: " + number2); ) )
Изход
NavigableSet: (1, 2, 3) Първи елемент: 1 Последен елемент: 3 Премахнат Първи елемент: 1 Премахнат последен елемент: 3
За да научите повече за TreeSet
, посетете Java TreeSet.
След като вече знаем за NavigableSet
интерфейса, ще научим за неговото изпълнение с помощта на TreeSet
класа.