Интерфейс NavigableSet<E>
- Параметры типа:
-
E- тип элементов, поддерживаемых этим множеством
- Все суперинтерфейсы:
-
Collection<E>,Iterable<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.
- Since:
- 1.6
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
E |
ceiling |
Возвращает наименьший элемент в этом множестве, больший или равный данному элементу, или null , если такого элемента нет. |
Iterator<E> |
descendingIterator() |
Возвращает итератор по элементам в этом множестве в порядке убывания. |
NavigableSet<E> |
descendingSet() |
Возвращает представление в обратном порядке элементов, содержащихся в этом множестве. |
E |
floor |
Возвращает наибольший элемент в этом множестве, меньший или равный данному элементу, или null , если такого элемента нет. |
SortedSet<E> |
headSet |
Возвращает представление части этого множества, элементы которого строго меньше toElement. |
NavigableSet<E> |
headSet |
Возвращает представление части этого множества, элементы которого меньше (или равны, если inclusive true) toElement. |
E |
higher |
Возвращает наименьший элемент в этом множестве, строго больший, чем данный элемент, или null , если такого элемента нет. |
Iterator<E> |
iterator() |
Возвращает итератор по элементам в этом множестве в порядке возрастания. |
E |
lower |
Возвращает наибольший элемент в этом множестве, строго меньший, чем данный элемент, или null , если такого элемента нет. |
E |
pollFirst() |
Возвращает и удаляет первый (наименьший) элемент или возвращает null , если это множество пусто. |
E |
pollLast() |
Возвращает и удаляет последний (наибольший) элемент или возвращает null , если это множество пусто. |
NavigableSet<E> |
subSet |
Возвращает представление части этого множества, элементы которого находятся в диапазоне от fromElement до toElement. |
SortedSet<E> |
subSet |
Возвращает представление части этого множества, элементы которого находятся в диапазоне от fromElement, включительно, до toElement, исключая. |
SortedSet<E> |
tailSet |
Возвращает представление части этого множества, элементы которого больше или равны fromElement. |
NavigableSet<E> |
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
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 оба равны 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)
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 при попытке вставить элемент за пределами своего диапазона.
- Параметры:
-
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, 2021, 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/17/docs/api/java.base/java/util/NavigableSet.html