Интерфейс Java NavigableSet

В этом руководстве мы узнаем об интерфейсе 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класса.

Интересные статьи...