Spec-Zone.ru › OpenJDK 24

Интерфейс 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(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)
Возвращает представление части этого множества, элементы которого меньше (или равны, если inclusive истинно) toElement.
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)
Возвращает представление части этого множества, элементы которого больше (или равны, если inclusive истинно) fromElement.

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

parallelStream, removeIf, stream, toArray

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

forEach

Методы, объявленные в интерфейсе 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

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 оба верны. Возвращаемый набор опирается на этот набор, поэтому изменения в возвращаемом наборе отражаются в этом наборе, и наоборот. Возвращаемый набор поддерживает все необязательные операции набора, которые поддерживает этот набор.

Возвращаемый набор будет генерировать исключение 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

Spec-Zone.ru

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