Spec-Zone.ru › OpenJDK 25

Интерфейс 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()
Возвращает представление этой коллекции в обратном порядке.
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

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

forEach

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

add, addAll, clear, contains, containsAll, equals, hashCode, isEmpty, remove, removeAll, retainAll, size, toArray, toArray

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

addFirst, addLast, comparator, first, getFirst, getLast, last, 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, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/NavigableSet.html

Spec-Zone.ru

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