Интерфейс NavigableSet<E>
- Type Parameters:
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.
- Since:
- 1.6
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
E |
ceiling |
Возвращает наименьший элемент в этом множестве, строго больший или равный заданному элементу, или null, если такого элемента нет. |
Iterator |
descendingIterator() |
Возвращает итератор по элементам в этом множестве в нисходящем порядке. |
NavigableSet |
descendingSet() |
Возвращает представление элементов, содержащихся в этом множестве, в обратном порядке. |
E |
floor |
Возвращает наибольший элемент в этом множестве, строго меньший или равный заданному элементу, или null, если такого элемента нет. |
SortedSet |
headSet |
Возвращает представление части этого множества, элементы которого строго меньше toElement. |
NavigableSet |
headSet |
Возвращает представление части этого множества, элементы которого меньше (или равны, если inclusive истинно) toElement. |
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 |
Возвращает представление части этого множества, элементы которого больше (или равны, если inclusive истинно) fromElement. |
Методы, объявленные в интерфейсе java.util.Collection
parallelStream, removeIf, stream, toArray
Методы, объявленные в интерфейсе java.util.Set
add, addAll, clear, contains, containsAll, equals, hashCode, isEmpty, remove, removeAll, retainAll, size, toArray, toArray
Методы, объявленные в интерфейсе java.util.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
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 оба верны. Возвращаемый набор опирается на этот набор, поэтому изменения в возвращаемом наборе отражаются в этом наборе, и наоборот. Возвращаемый набор поддерживает все необязательные операции набора, которые поддерживает этот набор. Возвращаемый набор будет генерировать исключение 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)
inclusive равно true) toElement. Возвращаемый набор опирается на этот набор, поэтому изменения в возвращаемом наборе отражаются в этом наборе, и наоборот. Возвращаемый набор поддерживает все необязательные операции набора, которые поддерживает этот набор. Возвращаемый набор будет генерировать исключение IllegalArgumentException при попытке вставить элемент за пределами диапазона.
- Параметры:
-
toElement- верхняя граница возвращаемого набора -
inclusive-true, если верхняя граница должна быть включена в возвращаемый набор - Возвращает:
- представление части этого набора, элементы которого меньше (или равны, если
inclusiveравно true)toElement - Исключение:
-
ClassCastException- еслиtoElementнесовместим с компаратором этого набора (или, если у набора нет компаратора, еслиtoElementне реализуетComparable). Реализации могут, но не обязаны, генерировать это исключение, еслиtoElementнельзя сравнить с элементами, которые в настоящее время находятся в наборе. -
NullPointerException- еслиtoElementимеет значение null, а этот набор не допускает элементов null -
IllegalArgumentException- если у этого набора есть ограниченный диапазон, иtoElementнаходится за пределами границ диапазона
tailSet
NavigableSet<E> tailSet(E fromElement, boolean inclusive)
inclusive равно true) fromElement. Возвращаемое множество опирается на это множество, поэтому изменения в возвращаемом множестве отражаются в этом множестве и наоборот. Возвращаемое множество поддерживает все необязательные операции множества, которые поддерживает это множество. Возвращаемое множество будет выбрасывать IllegalArgumentException при попытке вставить элемент за пределами своего диапазона.
- Parameters:
-
fromElement- нижняя граница возвращаемого множества -
inclusive-true, если нижняя граница должна быть включена в возвращаемое представление - Returns:
- представление части этого множества, элементы которого больше или равны
fromElement - Throws:
-
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).
- Specified by:
-
subSetв интерфейсеSortedSet<E> - Parameters:
-
fromElement- нижняя граница (включительно) возвращаемого множества -
toElement- верхняя граница (исключительно) возвращаемого множества - Returns:
- представление части этого множества, элементы которого находятся в диапазоне от
fromElement(включительно) доtoElement(исключительно) - Throws:
-
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).
- Specified by:
-
headSetв интерфейсеSortedSet<E> - Parameters:
-
toElement- верхняя граница (исключительно) возвращаемого множества - Returns:
- представление части этого множества, элементы которого строго меньше
toElement - Throws:
-
ClassCastException- еслиtoElementнесовместим с компаратором этого множества (или, если у множества нет компаратора, еслиtoElementне реализуетComparable). Реализации могут, но не обязаны, выбрасывать это исключение, еслиtoElementнельзя сравнить с элементами, которые в настоящее время находятся в множестве. -
NullPointerException- еслиtoElementравно null, и это множество не допускает null-элементов -
IllegalArgumentException- если у этого множества есть ограниченный диапазон, иtoElementнаходится за пределами границ диапазона
tailSet
SortedSet<E> tailSet(E fromElement)
fromElement. Возвращаемое множество опирается на это множество, поэтому изменения в возвращаемом множестве отражаются в этом множестве и наоборот. Возвращаемое множество поддерживает все необязательные операции множества, которые поддерживает это множество. Возвращаемое множество будет выбрасывать IllegalArgumentException при попытке вставить элемент за пределами своего диапазона.
Эквивалентно tailSet(fromElement, true).
- Specified by:
-
tailSetв интерфейсеSortedSet<E> - Parameters:
-
fromElement- нижняя граница (включительно) возвращаемого множества - Returns:
- представление части этого множества, элементы которого больше или равны
fromElement - Throws:
-
ClassCastException- еслиfromElementнесовместим с компаратором этого множества (или, если у множества нет компаратора, еслиfromElementне реализуетComparable). Реализации могут, но не обязаны, выбрасывать это исключение, еслиfromElementнельзя сравнить с элементами, которые в настоящее время находятся в множестве. -
NullPointerException- еслиfromElementравно null, и это множество не допускает null-элементов -
IllegalArgumentException- если у этого множества есть ограниченный диапазон, иfromElementнаходится за пределами границ диапазона
removeFirst
default E removeFirst()
- Specified by:
-
removeFirstв интерфейсеSequencedCollection<E> - Specified by:
-
removeFirstв интерфейсеSortedSet<E> - Implementation Requirements:
- Если это множество не пусто, реализация в этом интерфейсе возвращает результат вызова метода
pollFirst. В противном случае выбрасываетNoSuchElementException. - Returns:
- удаленный элемент
- Throws:
-
NoSuchElementException- если этот набор пуст -
UnsupportedOperationException- если реализация этого набора не поддерживает эту операцию - Since:
- 21
removeLast
default E removeLast()
- Specified by:
-
removeLastв интерфейсеSequencedCollection<E> - Specified by:
-
removeLastв интерфейсеSortedSet<E> - Implementation Requirements:
- Если это множество не пусто, реализация в этом интерфейсе возвращает результат вызова метода
pollLast. В противном случае выбрасываетNoSuchElementException. - Returns:
- удаленный элемент
- Throws:
-
NoSuchElementException- если этот набор пуст -
UnsupportedOperationException- если реализация этого набора не поддерживает эту операцию - Since:
- 21
reversed
default NavigableSet<E> reversed()
Этот метод эквивалентен descendingSet.
- Specified by:
-
reversedв интерфейсеSequencedCollection<E> - Specified by:
-
reversedв интерфейсеSequencedSet<E> - Specified by:
-
reversedв интерфейсеSortedSet<E> - Implementation Requirements:
- Реализация в этом интерфейсе возвращает результат вызова метода
descendingSet. - Returns:
- представление этого набора в обратном порядке, как
NavigableSet - Since:
- 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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/util/NavigableSet.html