Интерфейс 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 |
Возвращает наименьший элемент этого множества, который больше заданного элемента или равен ему, либо null, если такого элемента нет. |
Iterator |
descendingIterator() |
Возвращает итератор по элементам этого множества в порядке убывания. |
NavigableSet |
descendingSet() |
Возвращает представление элементов этого множества в обратном порядке. |
E |
floor |
Возвращает наибольший элемент этого множества, который меньше заданного элемента или равен ему, либо null, если такого элемента нет. |
SortedSet |
headSet |
Возвращает представление части этого множества, элементы которой строго меньше toElement. |
NavigableSet |
headSet |
Возвращает представление части этого множества, элементы которой меньше toElement (или равны ему, если inclusive имеет значение true). |
E |
higher |
Возвращает наименьший элемент этого множества, строго больший заданного элемента, либо null, если такого элемента нет. |
Iterator |
iterator() |
Возвращает итератор по элементам этого множества в порядке возрастания. |
E |
lower |
Возвращает наибольший элемент этого множества, строго меньший заданного элемента, либо null, если такого элемента нет. |
E |
pollFirst() |
Извлекает и удаляет первый (наименьший) элемент либо возвращает null, если это множество пусто (необязательная операция). |
E |
pollLast() |
Извлекает и удаляет последний (наибольший) элемент либо возвращает null, если это множество пусто (необязательная операция). |
default E |
removeFirst() |
Удаляет и возвращает первый элемент этой коллекции (необязательная операция). |
default E |
removeLast() |
Удаляет и возвращает последний элемент этой коллекции (необязательная операция). |
default NavigableSet |
reversed() |
Возвращает представление этой коллекции в обратном порядке. |
NavigableSet |
subSet |
Возвращает представление части этого множества, элементы которой находятся в диапазоне от fromElement до toElement. |
SortedSet |
subSet |
Возвращает представление части этого множества, элементы которой находятся в диапазоне от fromElement включительно до toElement исключительно. |
SortedSet |
tailSet |
Возвращает представление части этого множества, элементы которой больше fromElement или равны ему. |
NavigableSet |
tailSet |
Возвращает представление части этого множества, элементы которой больше fromElement (или равны ему, если inclusive имеет значение true). |
Методы, объявленные в интерфейсе Collection
parallelStream, removeIf, stream, toArray
Методы, объявленные в интерфейсе 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()
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
© 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