Spec-Zone.ru › OpenJDK 27

Интерфейс NavigableSet<E>

Параметры типа:
E - тип элементов, хранящихся в этом множестве
Все суперинтерфейсы:
Collection<E>, Iterable<E>, SequencedCollection<E>, SequencedSet<E>, Set<E>, SortedSet<E>
Все известные реализующие классы:
ConcurrentSkipListSet, TreeSet
public interface NavigableSet<E> extends SortedSet<E>
SortedSet с дополнительными методами навигации, которые находят ближайшие совпадения для заданных элементов поиска. Методы lower(E), floor(E), ceiling(E) и higher(E) возвращают соответственно элементы, меньшие, меньшие или равные, большие или равные и большие заданного элемента; если такого элемента нет, возвращается null.

К NavigableSet можно обращаться и выполнять обход как в порядке возрастания, так и в порядке убывания. Метод descendingSet() возвращает представление множества, в котором смысл всех методов отношений и направлений инвертирован. Производительность операций и представлений для обхода в порядке возрастания, вероятно, будет выше, чем для обхода в порядке убывания. Этот интерфейс также определяет методы pollFirst() и pollLast(), которые возвращают и удаляют наименьший и наибольший элементы соответственно, если они существуют; в противном случае возвращается null. Методы subSet(E, boolean, E, boolean), headSet(E, boolean) и tailSet(E, boolean) отличаются от одноимённых методов SortedSet тем, что принимают дополнительные аргументы, указывающие, включаются ли нижняя и верхняя границы. Подмножества любого NavigableSet должны реализовывать интерфейс NavigableSet.

Возвращаемые значения методов навигации могут быть неоднозначными в реализациях, допускающих null элементы. Однако даже в этом случае результат можно уточнить, проверив contains(null). Во избежание подобных проблем реализациям этого интерфейса рекомендуется не разрешать добавление null элементов. (Обратите внимание, что отсортированные множества элементов типа Comparable по своей природе не допускают null.)

Методы subSet(E, E), headSet(E) и tailSet(E) определены так, чтобы возвращать SortedSet, что позволяет выполнить совместную доработку существующих реализаций SortedSet для реализации NavigableSet. Однако расширениям и реализациям этого интерфейса рекомендуется переопределять эти методы, чтобы они возвращали NavigableSet.

Этот интерфейс входит в состав Java Collections Framework.

С версии:
1.6

Краткое описание методов

Модификатор и тип Метод Описание
E ceiling(E e)
Возвращает наименьший элемент этого множества, больший или равный заданному элементу, либо null, если такого элемента нет.
Iterator<E> descendingIterator()
Возвращает итератор по элементам этого множества в порядке убывания.
NavigableSet<E> descendingSet()
Возвращает представление элементов этого множества в обратном порядке.
E floor(E e)
Возвращает наибольший элемент этого множества, меньший или равный заданному элементу, либо null, если такого элемента нет.
SortedSet<E> headSet(E toElement)
Возвращает представление части этого множества, элементы которой строго меньше toElement.
NavigableSet<E> headSet(E toElement, boolean inclusive)
Возвращает представление части этого множества, элементы которой меньше toElement (или равны ему, если inclusive имеет значение true).
E higher(E e)
Возвращает наименьший элемент этого множества, строго больший заданного элемента, либо null, если такого элемента нет.
Iterator<E> iterator()
Возвращает итератор по элементам этого множества в порядке возрастания.
E lower(E e)
Возвращает наибольший элемент этого множества, строго меньший заданного элемента, либо null, если такого элемента нет.
E pollFirst()
Извлекает и удаляет первый (наименьший) элемент либо возвращает null, если множество пусто (необязательная операция).
E pollLast()
Извлекает и удаляет последний (наибольший) элемент либо возвращает null, если множество пусто (необязательная операция).
default E removeFirst()
Удаляет и возвращает первый элемент этой коллекции (необязательная операция).
default E removeLast()
Удаляет и возвращает последний элемент этой коллекции (необязательная операция).
default NavigableSet<E> reversed()
Возвращает представление этой коллекции в обратном порядке view.
NavigableSet<E> subSet(E fromElement, boolean fromInclusive, E toElement, boolean toInclusive)
Возвращает представление части этого множества, элементы которой находятся в диапазоне от fromElement до toElement.
SortedSet<E> subSet(E fromElement, E toElement)
Возвращает представление части этого множества, элементы которой находятся в диапазоне от fromElement включительно до toElement исключительно.
SortedSet<E> tailSet(E fromElement)
Возвращает представление части этого множества, элементы которой больше или равны fromElement.
NavigableSet<E> tailSet(E fromElement, boolean inclusive)
Возвращает представление части этого множества, элементы которой больше fromElement (или равны ему, если inclusive имеет значение true).

Методы, объявленные в интерфейсе Collection

parallelStream, removeIf, stream, toArray
Модификатор и тип Метод Описание
default Stream<E> parallelStream()
Возвращает, возможно, параллельный Stream с этой коллекцией в качестве источника.
default boolean removeIf(Predicate<? super E> filter)
Удаляет все элементы этой коллекции, удовлетворяющие заданному предикату (необязательная операция).
default Stream<E> stream()
Возвращает последовательный Stream с этой коллекцией в качестве источника.
default <T> T[] toArray(IntFunction<T[]> generator)
Возвращает массив, содержащий все элементы этой коллекции; для выделения возвращаемого массива используется предоставленная функция generator.

Методы, объявленные в интерфейсе Iterable

forEach
Модификатор и тип Метод Описание
default void forEach(Consumer<? super E> action)
Выполняет заданное действие для каждого элемента Iterable, пока не будут обработаны все элементы или действие не вызовет исключение.

Методы, объявленные в интерфейсе Set

add, addAll, clear, contains, containsAll, equals, hashCode, isEmpty, remove, removeAll, retainAll, size, toArray, toArray
Модификатор и тип Метод Описание
boolean add(E e)
Добавляет указанный элемент в это множество, если он ещё не содержится в нём (необязательная операция).
boolean addAll(Collection<? extends E> c)
Добавляет все элементы указанной коллекции в это множество, если их ещё нет в нём (необязательная операция).
void clear()
Удаляет все элементы из этого множества (необязательная операция).
boolean contains(Object o)
Возвращает true, если это множество содержит указанный элемент.
boolean containsAll(Collection<?> c)
Возвращает true, если это множество содержит все элементы указанной коллекции.
boolean equals(Object o)
Сравнивает указанный объект с этим множеством на равенство.
int hashCode()
Возвращает значение хеш-кода этого множества.
boolean isEmpty()
Возвращает true, если это множество не содержит элементов.
boolean remove(Object o)
Удаляет указанный элемент из этого множества, если он присутствует (необязательная операция).
boolean removeAll(Collection<?> c)
Удаляет из этого множества все элементы, содержащиеся в указанной коллекции (необязательная операция).
boolean retainAll(Collection<?> c)
Оставляет в этом множестве только элементы, содержащиеся в указанной коллекции (необязательная операция).
int size()
Возвращает количество элементов в этом множестве (его мощность).
Object[] toArray()
Возвращает массив, содержащий все элементы этого множества.
<T> T[] toArray(T[] a)
Возвращает массив, содержащий все элементы этого множества; тип возвращаемого массива во время выполнения совпадает с типом указанного массива.

Методы, объявленные в интерфейсе SortedSet

addFirst, addLast, comparator, first, getFirst, getLast, last, spliterator
Модификатор и тип Метод Описание
default void addFirst(E e)
Вызывает UnsupportedOperationException.
default void addLast(E e)
Вызывает UnsupportedOperationException.
Comparator<? super E> comparator()
Возвращает компаратор, используемый для упорядочения элементов этого множества, либо null, если в этом множестве используется естественный порядок элементов.
E first()
Возвращает первый (наименьший) элемент, находящийся в данный момент в этом множестве.
default E getFirst()
Возвращает первый элемент этой коллекции.
default E getLast()
Возвращает последний элемент этой коллекции.
E last()
Возвращает последний (наибольший) элемент, находящийся в данный момент в этом множестве.
default Spliterator<E> spliterator()
Создаёт Spliterator для обхода элементов этого отсортированного множества.

Подробное описание методов

lower

E lower(E e)
Возвращает наибольший элемент этого набора, строго меньший заданного элемента, или null, если такого элемента нет.
Параметры:
e — значение для поиска
Возвращает:
наибольший элемент, меньший e, или null, если такого элемента нет
Исключения:
ClassCastException — если заданный элемент нельзя сравнить с элементами, находящимися в данный момент в наборе
NullPointerException — если заданный элемент равен null, а этот набор не допускает элементы null

floor

E floor(E e)
Возвращает наибольший элемент этого набора, меньший заданного элемента или равный ему, либо null, если такого элемента нет.
Параметры:
e — значение для поиска
Возвращает:
наибольший элемент, меньший e или равный ему, либо null, если такого элемента нет
Исключения:
ClassCastException — если заданный элемент нельзя сравнить с элементами, находящимися в данный момент в наборе
NullPointerException — если заданный элемент равен null, а этот набор не допускает элементы null

ceiling

E ceiling(E e)
Возвращает наименьший элемент этого набора, больший заданного элемента или равный ему, либо null, если такого элемента нет.
Параметры:
e — значение для поиска
Возвращает:
наименьший элемент, больший e или равный ему, либо null, если такого элемента нет
Исключения:
ClassCastException — если заданный элемент нельзя сравнить с элементами, находящимися в данный момент в наборе
NullPointerException — если заданный элемент равен null, а этот набор не допускает элементы null

higher

E higher(E e)
Возвращает наименьший элемент этого набора, строго больший заданного элемента, либо null, если такого элемента нет.
Параметры:
e — значение для поиска
Возвращает:
наименьший элемент, больший e, либо null, если такого элемента нет
Исключения:
ClassCastException — если заданный элемент нельзя сравнить с элементами, находящимися в данный момент в наборе
NullPointerException — если заданный элемент равен null, а этот набор не допускает элементы null

pollFirst

E pollFirst()
Извлекает и удаляет первый (наименьший) элемент или возвращает null, если набор пуст (необязательная операция).
Возвращает:
первый элемент или null, если набор пуст
Исключения:
UnsupportedOperationException — если эта коллекция не поддерживает операцию pollFirst

pollLast

E pollLast()
Извлекает и удаляет последний (наибольший) элемент или возвращает null, если набор пуст (необязательная операция).
Возвращает:
последний элемент или null, если набор пуст
Исключения:
UnsupportedOperationException — если эта коллекция не поддерживает операцию pollLast

iterator

Iterator<E> iterator()
Возвращает итератор по элементам этого набора в порядке возрастания.
Определено в:
iterator в интерфейсе Collection<E>
Определено в:
iterator в интерфейсе Iterable<E>
Определено в:
iterator в интерфейсе Set<E>
Возвращает:
итератор по элементам этого набора в порядке возрастания

descendingSet

NavigableSet<E> descendingSet()
Возвращает представление элементов этого набора в обратном порядке. Нисходящий набор основан на этом наборе, поэтому изменения набора отражаются в нисходящем наборе и наоборот. Если любой из наборов изменяется во время выполнения итерации по любому из них (за исключением операции remove самого итератора), результаты итерации не определены.

Порядок элементов возвращаемого набора эквивалентен порядку, заданному Collections.reverseOrder(comparator()). Выражение s.descendingSet().descendingSet() возвращает представление s, по существу эквивалентное s.

Возвращает:
представление этого набора в обратном порядке

descendingIterator

Iterator<E> descendingIterator()
Возвращает итератор по элементам этого набора в порядке убывания. По существу эквивалентен descendingSet().iterator().
Возвращает:
итератор по элементам этого набора в порядке убывания

subSet

NavigableSet<E> subSet(E fromElement, boolean fromInclusive, E toElement, boolean toInclusive)
Возвращает представление части этого набора, элементы которой находятся в диапазоне от fromElement до toElement. Если fromElement и toElement равны, возвращаемый набор пуст, если только fromInclusive и toInclusive не равны true одновременно. Возвращаемый набор основан на этом наборе, поэтому изменения возвращаемого набора отражаются в этом наборе и наоборот. Возвращаемый набор поддерживает все необязательные операции над наборами, поддерживаемые этим набором.

При попытке вставить элемент за пределами диапазона возвращаемый набор выбросит исключение IllegalArgumentException.

Параметры:
fromElement — нижняя граница возвращаемого набора
fromInclusive — true, если нижнюю границу следует включить в возвращаемое представление
toElement — верхняя граница возвращаемого набора
toInclusive — true, если верхнюю границу следует включить в возвращаемое представление
Возвращает:
представление части этого набора, элементы которой находятся в диапазоне от fromElement включительно до toElement исключительно
Исключения:
ClassCastException — если fromElement и toElement нельзя сравнить друг с другом с помощью компаратора этого набора (или, если у набора нет компаратора, с помощью естественного порядка). Реализации могут выбрасывать это исключение, если fromElement или toElement нельзя сравнить с элементами, находящимися в данный момент в наборе, но не обязаны этого делать.
NullPointerException — если fromElement или toElement равно null, а этот набор не допускает элементы null
IllegalArgumentException — если fromElement больше toElement; или если диапазон самого набора ограничен, а fromElement или toElement находится за его границами

headSet

NavigableSet<E> headSet(E toElement, boolean inclusive)
Возвращает представление части этого набора, элементы которой меньше toElement (или меньше либо равны ему, если inclusive равно true). Возвращаемый набор основан на этом наборе, поэтому изменения возвращаемого набора отражаются в этом наборе и наоборот. Возвращаемый набор поддерживает все необязательные операции над наборами, поддерживаемые этим набором.

При попытке вставить элемент за пределами диапазона возвращаемый набор выбросит исключение IllegalArgumentException.

Параметры:
toElement — верхняя граница возвращаемого набора
inclusive — true, если верхнюю границу следует включить в возвращаемое представление
Возвращает:
представление части этого набора, элементы которой меньше toElement (или меньше либо равны ему, если inclusive равно true)
Исключения:
ClassCastException — если toElement несовместим с компаратором этого набора (или, если у набора нет компаратора, если toElement не реализует Comparable). Реализации могут выбрасывать это исключение, если toElement нельзя сравнить с элементами, находящимися в данный момент в наборе, но не обязаны этого делать.
NullPointerException — если toElement равно null, а этот набор не допускает элементы null
IllegalArgumentException — если диапазон самого набора ограничен, а toElement находится за его границами

tailSet

NavigableSet<E> tailSet(E fromElement, boolean inclusive)
Возвращает представление части этого набора, элементы которой больше fromElement (или больше либо равны ему, если inclusive равно true). Возвращаемый набор основан на этом наборе, поэтому изменения возвращаемого набора отражаются в этом наборе и наоборот. Возвращаемый набор поддерживает все необязательные операции над наборами, поддерживаемые этим набором.

При попытке вставить элемент за пределами диапазона возвращаемый набор выбросит исключение IllegalArgumentException.

Параметры:
fromElement — нижняя граница возвращаемого набора
inclusive — true, если нижнюю границу следует включить в возвращаемое представление
Возвращает:
представление части этого набора, элементы которой больше или равны fromElement
Исключения:
ClassCastException — если fromElement несовместим с компаратором этого набора (или, если у набора нет компаратора, если fromElement не реализует Comparable). Реализации могут выбрасывать это исключение, если fromElement нельзя сравнить с элементами, находящимися в данный момент в наборе, но не обязаны этого делать.
NullPointerException — если fromElement равно null, а этот набор не допускает элементы null
IllegalArgumentException — если диапазон самого набора ограничен, а fromElement находится за его границами

subSet

SortedSet<E> subSet(E fromElement, E toElement)
Возвращает представление части этого набора, элементы которой находятся в диапазоне от fromElement включительно до toElement исключительно. (Если fromElement и toElement равны, возвращаемый набор пуст.) Возвращаемый набор основан на этом наборе, поэтому изменения возвращаемого набора отражаются в этом наборе и наоборот. Возвращаемый набор поддерживает все необязательные операции над наборами, поддерживаемые этим набором.

При попытке вставить элемент за пределами диапазона возвращаемый набор выбросит исключение IllegalArgumentException.

Эквивалентно subSet(fromElement, true, toElement, false).

Определено в:
subSet в интерфейсе SortedSet<E>
Параметры:
fromElement — нижняя граница возвращаемого набора (включительно)
toElement — верхняя граница возвращаемого набора (исключительно)
Возвращает:
представление части этого набора, элементы которой находятся в диапазоне от fromElement включительно до toElement исключительно
Исключения:
ClassCastException — если fromElement и toElement нельзя сравнить друг с другом с помощью компаратора этого набора (или, если у набора нет компаратора, с помощью естественного порядка). Реализации могут выбрасывать это исключение, если fromElement или toElement нельзя сравнить с элементами, находящимися в данный момент в наборе, но не обязаны этого делать.
NullPointerException — если fromElement или toElement равно null, а этот набор не допускает элементы null
IllegalArgumentException — если fromElement больше toElement; или если диапазон самого набора ограничен, а fromElement или toElement находится за его границами

headSet

SortedSet<E> headSet(E toElement)
Возвращает представление части этого набора, элементы которой строго меньше toElement. Возвращаемый набор основан на этом наборе, поэтому изменения возвращаемого набора отражаются в этом наборе и наоборот. Возвращаемый набор поддерживает все необязательные операции над наборами, поддерживаемые этим набором.

При попытке вставить элемент за пределами диапазона возвращаемый набор выбросит исключение IllegalArgumentException.

Эквивалентно headSet(toElement, false).

Определено в:
headSet в интерфейсе SortedSet<E>
Параметры:
toElement — верхняя граница возвращаемого набора (исключительно)
Возвращает:
представление части этого набора, элементы которой строго меньше toElement
Исключения:
ClassCastException — если toElement несовместим с компаратором этого набора (или, если у набора нет компаратора, если toElement не реализует Comparable). Реализации могут выбрасывать это исключение, если toElement нельзя сравнить с элементами, находящимися в данный момент в наборе, но не обязаны этого делать.
NullPointerException — если toElement равно null, а этот набор не допускает элементы null
IllegalArgumentException — если диапазон самого набора ограничен, а toElement находится за его границами

tailSet

SortedSet<E> tailSet(E fromElement)
Возвращает представление части этого набора, элементы которой больше либо равны fromElement. Возвращаемый набор основан на этом наборе, поэтому изменения возвращаемого набора отражаются в этом наборе и наоборот. Возвращаемый набор поддерживает все необязательные операции над наборами, поддерживаемые этим набором.

При попытке вставить элемент за пределами диапазона возвращаемый набор выбросит исключение IllegalArgumentException.

Эквивалентно tailSet(fromElement, true).

Определено в:
tailSet в интерфейсе SortedSet<E>
Параметры:
fromElement — нижняя граница возвращаемого набора (включительно)
Возвращает:
представление части этого набора, элементы которой больше либо равны fromElement
Исключения:
ClassCastException — если fromElement несовместим с компаратором этого набора (или, если у набора нет компаратора, если fromElement не реализует Comparable). Реализации могут выбрасывать это исключение, если fromElement нельзя сравнить с элементами, находящимися в данный момент в наборе, но не обязаны этого делать.
NullPointerException — если fromElement равно null, а этот набор не допускает элементы null
IllegalArgumentException — если диапазон самого набора ограничен, а fromElement находится за его границами

removeFirst

default E removeFirst()
Удаляет и возвращает первый элемент этой коллекции (необязательная операция).
Определено в:
removeFirst в интерфейсе SequencedCollection<E>
Определено в:
removeFirst в интерфейсе SortedSet<E>
Требования к реализации:
Если этот набор не пуст, реализация этого метода в данном интерфейсе возвращает результат вызова метода pollFirst. В противном случае она выбрасывает NoSuchElementException.
Возвращает:
удалённый элемент
Исключения:
NoSuchElementException — если эта коллекция пуста
UnsupportedOperationException — если реализация этой коллекции не поддерживает эту операцию
Начиная с:
21

removeLast

default E removeLast()
Удаляет и возвращает последний элемент этой коллекции (необязательная операция).
Определено в:
removeLast в интерфейсе SequencedCollection<E>
Определено в:
removeLast в интерфейсе SortedSet<E>
Требования к реализации:
Если этот набор не пуст, реализация этого метода в данном интерфейсе возвращает результат вызова метода pollLast. В противном случае она выбрасывает NoSuchElementException.
Возвращает:
удалённый элемент
Исключения:
NoSuchElementException — если эта коллекция пуста
UnsupportedOperationException — если реализация этой коллекции не поддерживает эту операцию
Начиная с:
21

reversed

default NavigableSet<E> reversed()
Возвращает представление этой коллекции в обратном порядке (представление). Порядок обхода элементов в возвращаемом представлении обратен порядку обхода элементов в этой коллекции. Обратный порядок влияет на все операции, чувствительные к порядку, включая операции над коллекциями-представлениями возвращаемого представления. Если реализация коллекции допускает изменение этого представления, такие изменения «передаются» базовой коллекции. Изменения базовой коллекции могут быть видны или не видны в этом представлении с обратным порядком — это зависит от реализации.

Этот метод эквивалентен методу descendingSet.

Определено в:
reversed в интерфейсе SequencedCollection<E>
Определено в:
reversed в интерфейсе SequencedSet<E>
Определено в:
reversed в интерфейсе SortedSet<E>
Требования к реализации:
Реализация этого метода в данном интерфейсе возвращает результат вызова метода descendingSet.
Возвращает:
представление этой коллекции в обратном порядке как NavigableSet
Начиная с:
21

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, обзоры концепций, определения терминов, способы обхода проблем и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторские права © 1993, 2026, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API