Интерфейс NavigableSet<E>
- Параметры типа:
-
E- тип элементов, поддерживаемых этим множеством
- Все суперинтерфейсы:
- Collection<E>, Iterable<E>, Set<E>, SortedSet<E>
- Все известные реализующие классы:
- ConcurrentSkipListSet, TreeSet
public interface NavigableSet<E> extends SortedSet<E>
A SortedSet расширенный методами навигации, которые сообщают о ближайших соответствиях для заданных целей поиска. Методы lower, floor, ceiling, и higher возвращают элементы, соответственно, меньше, меньше или равно, больше или равно и больше заданного элемента, возвращая null если такого элемента нет. К NavigableSet можно получить доступ и перебрать его в порядке возрастания или убывания. Метод descendingSet возвращает представление множества с инвертированными значениями всех реляционных и направленных методов. Производительность восходящих операций и представлений, вероятно, будет выше, чем у нисходящих. Этот интерфейс дополнительно определяет методы pollFirst и pollLast, которые возвращают и удаляют наименьший и наибольший элемент, если они существуют, иначе возвращают null. Методы subSet, headSet, и tailSet отличаются от одноимённых методов 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.SortedSet
comparator, first, last, spliterator Методы, унаследованные от интерфейса java.util.Set
add, addAll, clear, contains, containsAll, equals, hashCode, isEmpty, remove, removeAll, retainAll, size, toArray, toArray Методы, унаследованные от интерфейса java.util.Collection
parallelStream, removeIf, stream Методы, унаследованные от интерфейса java.lang.Iterable
forEach Методы
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.