Интерфейс NavigableSet<E>
- Параметры типа:
-
E- тип элементов, поддерживаемых этим множеством
- Все суперинтерфейсы:
-
Collection<E>,Iterable<E>,Set<E>,SortedSet<E>
- Все известные реализующие классы:
-
ConcurrentSkipListSet,TreeSet
public interface NavigableSet<E> extends SortedSet<E>
A 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(E e) | Возвращает наименьший элемент в этом множестве, больший или равный заданному элементу, или |
Iterator<E> | descendingIterator() | Возвращает итератор по элементам в этом множестве в нисходящем порядке. |
NavigableSet<E> | descendingSet() | Возвращает представление в обратном порядке элементов, содержащихся в этом множестве. |
E | floor(E e) | Возвращает наибольший элемент в этом множестве, меньший или равный заданному элементу, или |
SortedSet<E> | headSet(E toElement) | Возвращает представление части этого множества, элементы которого строго меньше |
NavigableSet<E> | headSet(E toElement,
boolean inclusive) | Возвращает представление части этого множества, элементы которого меньше (или равны, если |
E | higher(E e) | Возвращает наименьший элемент в этом множестве, строго больший, чем заданный элемент, или |
Iterator<E> | iterator() | Возвращает итератор по элементам в этом множестве в восходящем порядке. |
E | lower(E e) | Возвращает наибольший элемент в этом множестве, строго меньший, чем заданный элемент, или |
E | pollFirst() | Возвращает и удаляет первый (наименьший) элемент или возвращает |
E | pollLast() | Возвращает и удаляет последний (наибольший) элемент или возвращает |
NavigableSet<E> | subSet(E fromElement,
boolean fromInclusive,
E toElement,
boolean toInclusive) | Возвращает представление части этого множества, элементы которого находятся в диапазоне от |
SortedSet<E> | subSet(E fromElement,
E toElement) | Возвращает представление части этого множества, элементы которого находятся в диапазоне от |
SortedSet<E> | tailSet(E fromElement) | Возвращает представление части этого множества, элементы которого больше или равны |
NavigableSet<E> | tailSet(E fromElement,
boolean inclusive) | Возвращает представление части этого множества, элементы которого больше (или равны, если |
Методы, объявленные в интерфейсе 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
comparator, first, 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).
- Указано в:
-
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выходят за пределы этого диапазона
© 1993, 2020, 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/11/docs/api/java.base/java/util/NavigableSet.html