Интерфейс 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() |
Возвращает представление этой коллекции в обратном порядке view. |
NavigableSet |
subSet |
Возвращает представление части этого множества, элементы которой находятся в диапазоне от fromElement до toElement. |
SortedSet |
subSet |
Возвращает представление части этого множества, элементы которой находятся в диапазоне от fromElement включительно до toElement исключительно. |
SortedSet |
tailSet |
Возвращает представление части этого множества, элементы которой больше или равны fromElement. |
NavigableSet |
tailSet |
Возвращает представление части этого множества, элементы которой больше fromElement (или равны ему, если inclusive имеет значение true). |
Методы, объявленные в интерфейсе Collection
parallelStream, removeIf, stream, toArray | Модификатор и тип | Метод | Описание |
|---|---|---|
default Stream |
parallelStream() |
Возвращает, возможно, параллельный Stream с этой коллекцией в качестве источника. |
default boolean |
removeIf |
Удаляет все элементы этой коллекции, удовлетворяющие заданному предикату (необязательная операция). |
default Stream |
stream() |
Возвращает последовательный Stream с этой коллекцией в качестве источника. |
default <T> T[] |
toArray |
Возвращает массив, содержащий все элементы этой коллекции; для выделения возвращаемого массива используется предоставленная функция generator. |
Методы, объявленные в интерфейсе Iterable
forEach | Модификатор и тип | Метод | Описание |
|---|---|---|
default void |
forEach |
Выполняет заданное действие для каждого элемента Iterable, пока не будут обработаны все элементы или действие не вызовет исключение. |
Методы, объявленные в интерфейсе Set
add, addAll, clear, contains, containsAll, equals, hashCode, isEmpty, remove, removeAll, retainAll, size, toArray, toArray | Модификатор и тип | Метод | Описание |
|---|---|---|
boolean |
add |
Добавляет указанный элемент в это множество, если он ещё не содержится в нём (необязательная операция). |
boolean |
addAll |
Добавляет все элементы указанной коллекции в это множество, если их ещё нет в нём (необязательная операция). |
void |
clear() |
Удаляет все элементы из этого множества (необязательная операция). |
boolean |
contains |
Возвращает true, если это множество содержит указанный элемент. |
boolean |
containsAll |
Возвращает true, если это множество содержит все элементы указанной коллекции. |
boolean |
equals |
Сравнивает указанный объект с этим множеством на равенство. |
int |
hashCode() |
Возвращает значение хеш-кода этого множества. |
boolean |
isEmpty() |
Возвращает true, если это множество не содержит элементов. |
boolean |
remove |
Удаляет указанный элемент из этого множества, если он присутствует (необязательная операция). |
boolean |
removeAll |
Удаляет из этого множества все элементы, содержащиеся в указанной коллекции (необязательная операция). |
boolean |
retainAll |
Оставляет в этом множестве только элементы, содержащиеся в указанной коллекции (необязательная операция). |
int |
size() |
Возвращает количество элементов в этом множестве (его мощность). |
Object[] |
toArray() |
Возвращает массив, содержащий все элементы этого множества. |
<T> T[] |
toArray |
Возвращает массив, содержащий все элементы этого множества; тип возвращаемого массива во время выполнения совпадает с типом указанного массива. |
Методы, объявленные в интерфейсе SortedSet
addFirst, addLast, comparator, first, getFirst, getLast, last, spliterator | Модификатор и тип | Метод | Описание |
|---|---|---|
default void |
addFirst |
Вызывает UnsupportedOperationException. |
default void |
addLast |
Вызывает UnsupportedOperationException. |
Comparator |
comparator() |
Возвращает компаратор, используемый для упорядочения элементов этого множества, либо null, если в этом множестве используется естественный порядок элементов. |
E |
first() |
Возвращает первый (наименьший) элемент, находящийся в данный момент в этом множестве. |
default E |
getFirst() |
Возвращает первый элемент этой коллекции. |
default E |
getLast() |
Возвращает последний элемент этой коллекции. |
E |
last() |
Возвращает последний (наибольший) элемент, находящийся в данный момент в этом множестве. |
default Spliterator |
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()
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.