Интерфейс 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 |
Возвращает представление части этого множества, элементы которого меньше (или равны, если inclusive равно true) 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 равно true) 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если этот набор пустой
pollLast
E pollLast()
null если этот набор пустой.- Возвращает:
- последний элемент, или
nullесли этот набор пустой
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 истинно) toElement. Возвращаемый набор поддерживается этим набором, поэтому изменения в возвращаемом наборе отражаются в этом наборе и наоборот. Возвращаемый набор поддерживает все необязательные операции над множествами, которые поддерживает этот набор. Возвращаемый набор будет выбрасывать IllegalArgumentException при попытке вставки элемента за пределами диапазона.
- Параметры:
-
toElement- верхняя граница возвращаемого набора -
inclusive-trueесли верхняя граница должна быть включена в возвращаемое представление - Возвращает:
- представление части этого набора, элементы которого меньше (или меньше или равны, если
inclusiveистинно)toElement - Исключение:
-
ClassCastException- еслиtoElementнесовместим с компаратором этого набора (или, если у набора нет компаратора, еслиtoElementне реализуетComparable). Реализации могут, но не обязаны, выбрасывать это исключение, еслиtoElementнельзя сравнить с элементами, которые в настоящее время находятся в наборе. -
NullPointerException- еслиtoElementимеет значение null, и этот набор не допускает элементов null -
IllegalArgumentException- если у этого набора есть ограниченный диапазон, иtoElementнаходится за пределами границ диапазона
tailSet
NavigableSet<E> tailSet(E fromElement, boolean inclusive)
inclusive истинно) fromElement. Возвращаемый набор поддерживается этим набором, поэтому изменения в возвращаемом наборе отражаются в этом наборе и наоборот. Возвращаемый набор поддерживает все необязательные операции над множествами, которые поддерживает этот набор. Возвращаемый набор будет выбрасывать 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).
- 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:
-
tailSet- если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, 2023, 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/21/docs/api/java.base/java/util/NavigableSet.html