В этом руководстве мы узнаем об интерфейсе 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
NavigableSet
Рассматривается как тип SortedSet
. Это потому, что NavigableSet
расширяет SortedSet
интерфейс.
Следовательно, все методы SortedSet также доступны в NavigableSet. Чтобы узнать, как эти методы, посетите Java SortedSet.
Однако некоторые методы SortedSet
( headSet()
, tailSet()
и subSet()
) в NavigableSet
.
Давайте посмотрим, как эти методы определены в NavigableSet
.
headSet (элемент, booleanValue)
В headSet()
методе возвращает все элементы судоходного набора до заданного элемента (который передается в качестве аргумента).
Параметр booleanValue не является обязательным. Его значение по умолчанию false
.
Если true
передается как booleanValue, метод возвращает все элементы перед указанным элементом, включая указанный элемент.
tailSet (элемент, логическое значение)
В tailSet()
методе возвращает все элементы судоходного набора после указанного элемента (который передается в качестве аргумента) , включая указанный элемент.
Параметр booleanValue не является обязательным. Его значение по умолчанию true
.
Если false
передается как booleanValue, метод возвращает все элементы после указанного элемента, не включая указанный элемент.
subSet (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
Предоставляют различные методы , которые могут быть использованы для навигации через ее элементов.
- спускающийсяSet () - меняет порядок элементов в наборе
- desndingIterator () - возвращает итератор, который можно использовать для перебора набора в обратном порядке
- потолок () - возвращает самый низкий элемент среди тех элементов, которые больше или равны указанному элементу
- floor () - возвращает наибольший элемент среди тех элементов, которые меньше или равны указанному элементу
- выше () - возвращает самый низкий элемент среди тех элементов, которые больше указанного элемента
- 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
класса.