У цьому посібнику ми дізнаємося про інтерфейс Java NavigableSet та його методи за допомогою прикладу.
NavigableSet
Інтерфейс рамок Java Collections надає можливості для навігації серед безлічі елементів.
Він розглядається як тип 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()
метод повертає всі елементи між e1 і e2 , включаючи e1.
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 Class
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
класу.