Spec-Zone.ru › OpenJDK 27

Класс TreeSet<E>

java.lang.Object
java.util.AbstractCollection<E>
java.util.AbstractSet<E>
java.util.TreeSet<E>
Параметры типа:
E — тип элементов, хранящихся в этом множестве
Все реализуемые интерфейсы:
Serializable, Cloneable, Iterable<E>, Collection<E>, NavigableSet<E>, SequencedCollection<E>, SequencedSet<E>, Set<E>, SortedSet<E>
public class TreeSet<E> extends AbstractSet<E> implements NavigableSet<E>, Cloneable, Serializable
Реализация NavigableSet на основе TreeMap. Элементы упорядочиваются согласно их естественному порядку либо с помощью Comparator, заданного при создании множества, в зависимости от используемого конструктора.

Эта реализация гарантирует логарифмическую временную сложность (log(n)) для основных операций (add, remove и contains).

Обратите внимание: порядок, поддерживаемый множеством (независимо от того, задан ли явный компаратор), должен быть согласован с equals, чтобы множество корректно реализовывало интерфейс Set. (Точное определение понятия согласован с equals см. в Comparable или Comparator.) Это объясняется тем, что интерфейс Set определен через операцию equals, однако экземпляр TreeSet выполняет все сравнения элементов с помощью своего метода compareTo (или compare), поэтому два элемента, признанные равными этим методом, с точки зрения множества являются равными. Поведение множества определено, даже если порядок элементов не согласован с equals; просто оно не соблюдает общий контракт интерфейса Set.

Обратите внимание: эта реализация не является синхронизированной. Если несколько потоков одновременно обращаются к дереву множеств и хотя бы один из них изменяет множество, его необходимо синхронизировать извне. Обычно для этого синхронизируют некоторый объект, который естественным образом инкапсулирует множество. Если такого объекта нет, множество следует «обернуть» с помощью метода Collections.synchronizedSortedSet. Лучше всего сделать это при создании множества, чтобы предотвратить случайный доступ к нему без синхронизации:

  SortedSet s = Collections.synchronizedSortedSet(new TreeSet(...));

Итераторы, возвращаемые методом iterator этого класса, являются быстро отказывающими: если после создания итератора множество каким-либо образом изменяется, кроме как с помощью собственного метода remove итератора, итератор выбрасывает исключение ConcurrentModificationException. Таким образом, при параллельном изменении итератор быстро и корректно прекращает работу, вместо того чтобы допускать произвольное, недетерминированное поведение в неопределенный момент в будущем.

Обратите внимание: гарантировать быстрое обнаружение изменений итератором невозможно, поскольку, вообще говоря, при параллельном изменении без синхронизации нельзя дать никаких надежных гарантий. Быстро отказывающие итераторы выбрасывают ConcurrentModificationException в порядке наилучшего возможного выполнения. Поэтому неправильно писать программу, корректность которой зависит от этого исключения: быстрое обнаружение изменений итераторами следует использовать только для выявления ошибок.

Методы addFirst и addLast этого класса выбрасывают UnsupportedOperationException. Порядок обхода элементов определяется методом сравнения, поэтому явное указание позиции не поддерживается.

Этот класс входит в состав Java Collections Framework.

С версии:
1.2
См. также:
  • Collection
  • Set
  • HashSet
  • Comparable
  • Comparator
  • TreeMap
  • Сериализованная форма

Краткое описание конструкторов

Конструктор Описание
TreeSet()
Создает новое пустое дерево множеств, упорядоченное согласно естественному порядку его элементов.
TreeSet(Collection<? extends E> c)
Создает новое дерево множеств, содержащее элементы указанной коллекции и упорядоченное согласно естественному порядку этих элементов.
TreeSet(Comparator<? super E> comparator)
Создает новое пустое дерево множеств, упорядоченное согласно указанному компаратору.
TreeSet(SortedSet<E> s)
Создает новое дерево множеств, содержащее те же элементы и использующее тот же порядок, что и указанное отсортированное множество.

Краткое описание методов

Модификатор и тип Метод Описание
boolean add(E e)
Добавляет указанный элемент в это множество, если его там еще нет.
boolean addAll(Collection<? extends E> c)
Добавляет в это множество все элементы указанной коллекции.
void addFirst(E e)
Выбрасывает UnsupportedOperationException.
void addLast(E e)
Выбрасывает UnsupportedOperationException.
E ceiling(E e)
Возвращает наименьший элемент этого множества, больший или равный заданному элементу, либо null, если такого элемента нет.
void clear()
Удаляет из этого множества все элементы.
Object clone()
Возвращает поверхностную копию этого экземпляра TreeSet.
Comparator<? super E> comparator()
Возвращает компаратор, используемый для упорядочивания элементов этого множества, либо null, если множество использует естественный порядок элементов.
boolean contains(Object o)
Возвращает true, если это множество содержит указанный элемент.
Iterator<E> descendingIterator()
Возвращает итератор по элементам этого множества в порядке убывания.
NavigableSet<E> descendingSet()
Возвращает представление элементов этого множества в обратном порядке.
E first()
Возвращает первый (наименьший) элемент, находящийся в данный момент в этом множестве.
E floor(E e)
Возвращает наибольший элемент этого множества, меньший или равный заданному элементу, либо null, если такого элемента нет.
SortedSet<E> headSet(E toElement)
Возвращает представление части этого множества, элементы которой строго меньше toElement.
NavigableSet<E> headSet(E toElement, boolean inclusive)
Возвращает представление части этого множества, элементы которой меньше (или равны, если inclusive имеет значение true) toElement.
E higher(E e)
Возвращает наименьший элемент этого множества, строго больший заданного элемента, либо null, если такого элемента нет.
boolean isEmpty()
Возвращает true, если это множество не содержит элементов.
Iterator<E> iterator()
Возвращает итератор по элементам этого множества в порядке возрастания.
E last()
Возвращает последний (наибольший) элемент, находящийся в данный момент в этом множестве.
E lower(E e)
Возвращает наибольший элемент этого множества, строго меньший заданного элемента, либо null, если такого элемента нет.
E pollFirst()
Извлекает и удаляет первый (наименьший) элемент либо возвращает null, если множество пусто (необязательная операция).
E pollLast()
Извлекает и удаляет последний (наибольший) элемент либо возвращает null, если множество пусто (необязательная операция).
boolean remove(Object o)
Удаляет указанный элемент из этого множества, если он присутствует.
int size()
Возвращает количество элементов в этом множестве (его мощность).
Spliterator<E> spliterator()
Создает привязку с задержкой и быстро отказывающий Spliterator для элементов этого множества.
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 имеет значение true) fromElement.

Методы, объявленные в классе AbstractSet

equals, hashCode, removeAll
Модификатор и тип Метод Описание
boolean equals(Object o)
Сравнивает указанный объект с этим множеством на равенство.
int hashCode()
Возвращает хеш-код этого множества.
boolean removeAll(Collection<?> c)
Удаляет из этого множества все элементы, содержащиеся в указанной коллекции (необязательная операция).

Методы, объявленные в классе AbstractCollection

containsAll, retainAll, toArray, toArray, toString
Модификатор и тип Метод Описание
boolean containsAll(Collection<?> c)
Возвращает true, если эта коллекция содержит все элементы указанной коллекции.
boolean retainAll(Collection<?> c)
Оставляет в этой коллекции только элементы, содержащиеся в указанной коллекции (необязательная операция).
Object[] toArray()
Возвращает массив, содержащий все элементы этой коллекции.
<T> T[] toArray(T[] a)
Возвращает массив, содержащий все элементы этой коллекции; тип возвращаемого массива во время выполнения совпадает с типом указанного массива.
String toString()
Возвращает строковое представление этой коллекции.

Методы, объявленные в классе Object

finalize, getClass, notify, notifyAll, wait, wait, wait
Модификатор и тип Метод Описание
protected void finalize()
Устарело, планируется удаление: этот элемент API может быть удален в будущей версии.
Финализация устарела и планируется к удалению в одном из следующих выпусков.
final Class<?> getClass()
Возвращает класс этого Object во время выполнения.
final void notify()
Будит один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Будит все потоки, ожидающие на мониторе этого объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно вследствие уведомления или прерывания.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно вследствие уведомления или прерывания, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно вследствие уведомления или прерывания, либо до истечения заданного промежутка реального времени.

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

parallelStream, removeIf, stream, toArray
Модификатор и тип Метод Описание
default Stream<E> parallelStream()
Возвращает, возможно, параллельный Stream с этой коллекцией в качестве источника.
default boolean removeIf(Predicate<? super E> filter)
Удаляет все элементы этой коллекции, удовлетворяющие заданному предикату (необязательная операция).
default Stream<E> stream()
Возвращает последовательный Stream с этой коллекцией в качестве источника.
default <T> T[] toArray(IntFunction<T[]> generator)
Возвращает массив, содержащий все элементы этой коллекции; для создания возвращаемого массива используется предоставленная функция generator.

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

forEach
Модификатор и тип Метод Описание
default void forEach(Consumer<? super E> action)
Выполняет заданное действие для каждого элемента Iterable, пока не будут обработаны все элементы или действие не выбросит исключение.

Методы, объявленные в интерфейсе NavigableSet

removeFirst, removeLast, reversed
Модификатор и тип Метод Описание
default E removeFirst()
Удаляет и возвращает первый элемент этой коллекции (необязательная операция).
default E removeLast()
Удаляет и возвращает последний элемент этой коллекции (необязательная операция).
default NavigableSet<E> reversed()
Возвращает представление этой коллекции в обратном порядке.

Методы, объявленные в интерфейсе Set

containsAll, retainAll, toArray, toArray
Модификатор и тип Метод Описание
boolean containsAll(Collection<?> c)
Возвращает true, если это множество содержит все элементы указанной коллекции.
boolean retainAll(Collection<?> c)
Оставляет в этом множестве только элементы, содержащиеся в указанной коллекции (необязательная операция).
Object[] toArray()
Возвращает массив, содержащий все элементы этого множества.
<T> T[] toArray(T[] a)
Возвращает массив, содержащий все элементы этого множества; тип возвращаемого массива во время выполнения совпадает с типом указанного массива.

Методы, объявленные в интерфейсе SortedSet

getFirst, getLast
Модификатор и тип Метод Описание
default E getFirst()
Возвращает первый элемент этой коллекции.
default E getLast()
Возвращает последний элемент этой коллекции.

Подробное описание конструкторов

TreeSet

public TreeSet()
Создает новое пустое дерево-множество, отсортированное в соответствии с естественным порядком его элементов. Все элементы, добавляемые в множество, должны реализовывать интерфейс Comparable. Кроме того, все такие элементы должны быть взаимно сравнимыми: e1.compareTo(e2) не должен выбрасывать ClassCastException для любых элементов e1 и e2 в множестве. Если пользователь попытается добавить в множество элемент, нарушающий это ограничение (например, попытается добавить строковый элемент в множество, элементы которого являются целыми числами), вызов add выбросит ClassCastException.

TreeSet

public TreeSet(Comparator<? super E> comparator)
Создает новое пустое дерево-множество, отсортированное в соответствии с указанным компаратором. Все элементы, добавляемые в множество, должны быть взаимно сравнимыми с помощью указанного компаратора: comparator.compare(e1, e2) не должен выбрасывать ClassCastException для любых элементов e1 и e2 в множестве. Если пользователь попытается добавить в множество элемент, нарушающий это ограничение, вызов add выбросит ClassCastException.
Параметры:
comparator - компаратор, который будет использоваться для упорядочения этого множества. Если null, будет использоваться естественный порядок элементов.

TreeSet

public TreeSet(Collection<? extends E> c)
Создает новое дерево-множество, содержащее элементы указанной коллекции и отсортированное в соответствии с естественным порядком этих элементов. Все элементы, добавляемые в множество, должны реализовывать интерфейс Comparable. Кроме того, все такие элементы должны быть взаимно сравнимыми: e1.compareTo(e2) не должен выбрасывать ClassCastException для любых элементов e1 и e2 в множестве.
Параметры:
c - коллекция, элементы которой будут составлять новое множество
Исключения:
ClassCastException - если элементы в c не являются Comparable или не сравнимы друг с другом
NullPointerException - если указанная коллекция равна null

TreeSet

public TreeSet(SortedSet<E> s)
Создает новое дерево-множество, содержащее те же элементы и использующее тот же порядок, что и указанное отсортированное множество.
Параметры:
s - отсортированное множество, элементы которого будут составлять новое множество
Исключения:
NullPointerException - если указанное отсортированное множество равно null

Подробное описание методов

iterator

public Iterator<E> iterator()
Возвращает итератор по элементам этого множества в порядке возрастания.
Определен в:
iterator в интерфейсе Collection<E>
Определен в:
iterator в интерфейсе Iterable<E>
Определен в:
iterator в интерфейсе NavigableSet<E>
Определен в:
iterator в интерфейсе Set<E>
Определен в:
iterator в классе AbstractCollection<E>
Возвращает:
итератор по элементам этого множества в порядке возрастания

descendingIterator

public Iterator<E> descendingIterator()
Возвращает итератор по элементам этого множества в порядке убывания.
Определен в:
descendingIterator в интерфейсе NavigableSet<E>
Возвращает:
итератор по элементам этого множества в порядке убывания
С версии:
1.6

descendingSet

public NavigableSet<E> descendingSet()
Описание скопировано из интерфейса: NavigableSet
Возвращает представление элементов этого множества в обратном порядке. Обратное множество поддерживается этим множеством, поэтому изменения множества отражаются в обратном множестве, и наоборот. Если любое из множеств изменяется во время выполнения итерации по любому из них (за исключением вызова собственной операции remove итератора), результаты итерации не определены.

Возвращаемое множество имеет порядок, эквивалентный Collections.reverseOrder(comparator()). Выражение s.descendingSet().descendingSet() возвращает представление s, по существу эквивалентное s.

Определен в:
descendingSet в интерфейсе NavigableSet<E>
Возвращает:
представление этого множества в обратном порядке
С версии:
1.6

size

public int size()
Возвращает количество элементов в этом множестве (его мощность).
Определен в:
size в интерфейсе Collection<E>
Определен в:
size в интерфейсе Set<E>
Возвращает:
количество элементов в этом множестве (его мощность)

isEmpty

public boolean isEmpty()
Возвращает true, если это множество не содержит элементов.
Определен в:
isEmpty в интерфейсе Collection<E>
Определен в:
isEmpty в интерфейсе Set<E>
Переопределяет:
isEmpty в классе AbstractCollection<E>
Возвращает:
true, если это множество не содержит элементов

contains

public boolean contains(Object o)
Возвращает true, если это множество содержит указанный элемент. Более формально, возвращает true тогда и только тогда, когда это множество содержит элемент e, для которого Objects.equals(o, e).
Определен в:
contains в интерфейсе Collection<E>
Определен в:
contains в интерфейсе Set<E>
Переопределяет:
contains в классе AbstractCollection<E>
Параметры:
o - объект, наличие которого в этом множестве проверяется
Возвращает:
true, если это множество содержит указанный элемент
Исключения:
ClassCastException - если указанный объект нельзя сравнить с элементами, находящимися в данный момент в множестве
NullPointerException - если указанный элемент равен null и это множество использует естественный порядок либо его компаратор не допускает элементы null

add

public boolean add(E e)
Добавляет указанный элемент в это множество, если он еще не присутствует. Более формально, добавляет указанный элемент e в это множество, если множество не содержит элемента e2, для которого Objects.equals(e, e2). Если этот элемент уже содержится в множестве, вызов не изменяет множество и возвращает false.
Определен в:
add в интерфейсе Collection<E>
Определен в:
add в интерфейсе Set<E>
Переопределяет:
add в классе AbstractCollection<E>
Параметры:
e - элемент, добавляемый в это множество
Возвращает:
true, если указанного элемента еще не было в этом множестве
Исключения:
ClassCastException - если указанный объект нельзя сравнить с элементами, находящимися в данный момент в этом множестве
NullPointerException - если указанный элемент равен null и это множество использует естественный порядок либо его компаратор не допускает элементы null

remove

public boolean remove(Object o)
Удаляет указанный элемент из этого множества, если он присутствует. Более формально, удаляет элемент e, для которого Objects.equals(o, e), если такой элемент содержится в этом множестве. Возвращает true, если множество содержало этот элемент (или, что равнозначно, если в результате вызова множество изменилось). (После возврата из вызова множество больше не будет содержать этот элемент.)
Определен в:
remove в интерфейсе Collection<E>
Определен в:
remove в интерфейсе Set<E>
Переопределяет:
remove в классе AbstractCollection<E>
Параметры:
o - объект, который нужно удалить из этого множества, если он присутствует
Возвращает:
true, если это множество содержало указанный элемент
Исключения:
ClassCastException - если указанный объект нельзя сравнить с элементами, находящимися в данный момент в этом множестве
NullPointerException - если указанный элемент равен null и это множество использует естественный порядок либо его компаратор не допускает элементы null

clear

public void clear()
Удаляет все элементы из этого множества. После возврата из вызова множество будет пустым.
Определен в:
clear в интерфейсе Collection<E>
Определен в:
clear в интерфейсе Set<E>
Переопределяет:
clear в классе AbstractCollection<E>

addAll

public boolean addAll(Collection<? extends E> c)
Добавляет в это множество все элементы указанной коллекции.
Определен в:
addAll в интерфейсе Collection<E>
Определен в:
addAll в интерфейсе Set<E>
Переопределяет:
addAll в классе AbstractCollection<E>
Параметры:
c - коллекция, содержащая элементы для добавления в это множество
Возвращает:
true, если в результате вызова это множество изменилось
Исключения:
ClassCastException - если предоставленные элементы нельзя сравнить с элементами, находящимися в данный момент в множестве
NullPointerException - если указанная коллекция равна null или какой-либо элемент равен null, а это множество использует естественный порядок либо его компаратор не допускает элементы null
См. также:
  • AbstractCollection.add(Object)

subSet

public NavigableSet<E> subSet(E fromElement, boolean fromInclusive, E toElement, boolean toInclusive)
Описание скопировано из интерфейса: NavigableSet
Возвращает представление части этого множества, элементы которой находятся в диапазоне от fromElement до toElement. Если fromElement и toElement равны, возвращаемое множество пусто, если только fromInclusive и toInclusive не имеют значение true одновременно. Возвращаемое множество поддерживается этим множеством, поэтому изменения возвращаемого множества отражаются в этом множестве, и наоборот. Возвращаемое множество поддерживает все необязательные операции над множествами, которые поддерживает это множество.

При попытке вставить элемент за пределами диапазона возвращаемое множество выбросит IllegalArgumentException.

Определен в:
subSet в интерфейсе NavigableSet<E>
Параметры:
fromElement - нижняя граница возвращаемого множества
fromInclusive - true, если нижняя граница должна включаться в возвращаемое представление
toElement - верхняя граница возвращаемого множества
toInclusive - true, если верхняя граница должна включаться в возвращаемое представление
Возвращает:
представление части этого множества, элементы которой находятся в диапазоне от fromElement включительно до toElement исключительно
Исключения:
ClassCastException - если fromElement и toElement нельзя сравнить друг с другом с помощью компаратора этого множества (или, если у множества нет компаратора, с помощью естественного порядка). Реализации могут выбрасывать это исключение, если fromElement или toElement нельзя сравнить с элементами, находящимися в данный момент в множестве, но не обязаны это делать.
NullPointerException - если fromElement или toElement равен null, а это множество использует естественный порядок либо его компаратор не допускает элементы null
IllegalArgumentException - если fromElement больше toElement или если диапазон самого множества ограничен, а fromElement или toElement находится за его пределами
С версии:
1.6

headSet

public NavigableSet<E> headSet(E toElement, boolean inclusive)
Описание скопировано из интерфейса: NavigableSet
Возвращает представление части этого множества, элементы которой меньше (или равны, если inclusive имеет значение true) toElement. Возвращаемое множество поддерживается этим множеством, поэтому изменения возвращаемого множества отражаются в этом множестве, и наоборот. Возвращаемое множество поддерживает все необязательные операции над множествами, которые поддерживает это множество.

При попытке вставить элемент за пределами диапазона возвращаемое множество выбросит IllegalArgumentException.

Определен в:
headSet в интерфейсе NavigableSet<E>
Параметры:
toElement - верхняя граница возвращаемого множества
inclusive - true, если верхняя граница должна включаться в возвращаемое представление
Возвращает:
представление части этого множества, элементы которой меньше (или равны, если inclusive имеет значение true) toElement
Исключения:
ClassCastException - если toElement несовместим с компаратором этого множества (или, если у множества нет компаратора, если toElement не реализует Comparable). Реализации могут выбрасывать это исключение, если toElement нельзя сравнить с элементами, находящимися в данный момент в множестве, но не обязаны это делать.
NullPointerException - если toElement равен null, а это множество использует естественный порядок либо его компаратор не допускает элементы null
IllegalArgumentException - если диапазон самого множества ограничен, а toElement находится за его пределами
С версии:
1.6

tailSet

public NavigableSet<E> tailSet(E fromElement, boolean inclusive)
Описание скопировано из интерфейса: NavigableSet
Возвращает представление части этого множества, элементы которой больше (или равны, если inclusive имеет значение true) fromElement. Возвращаемое множество поддерживается этим множеством, поэтому изменения возвращаемого множества отражаются в этом множестве, и наоборот. Возвращаемое множество поддерживает все необязательные операции над множествами, которые поддерживает это множество.

При попытке вставить элемент за пределами диапазона возвращаемое множество выбросит IllegalArgumentException.

Определен в:
tailSet в интерфейсе NavigableSet<E>
Параметры:
fromElement - нижняя граница возвращаемого множества
inclusive - true, если нижняя граница должна включаться в возвращаемое представление
Возвращает:
представление части этого множества, элементы которой больше или равны fromElement
Исключения:
ClassCastException - если fromElement несовместим с компаратором этого множества (или, если у множества нет компаратора, если fromElement не реализует Comparable). Реализации могут выбрасывать это исключение, если fromElement нельзя сравнить с элементами, находящимися в данный момент в множестве, но не обязаны это делать.
NullPointerException - если fromElement равен null, а это множество использует естественный порядок либо его компаратор не допускает элементы null
IllegalArgumentException - если диапазон самого множества ограничен, а fromElement находится за его пределами
С версии:
1.6

subSet

public SortedSet<E> subSet(E fromElement, E toElement)
Описание скопировано из интерфейса: NavigableSet
Возвращает представление части этого множества, элементы которой находятся в диапазоне от fromElement включительно до toElement исключительно. (Если fromElement и toElement равны, возвращаемое множество пусто.) Возвращаемое множество поддерживается этим множеством, поэтому изменения возвращаемого множества отражаются в этом множестве, и наоборот. Возвращаемое множество поддерживает все необязательные операции над множествами, которые поддерживает это множество.

При попытке вставить элемент за пределами диапазона возвращаемое множество выбросит IllegalArgumentException.

Эквивалентно subSet(fromElement, true, toElement, false).

Определен в:
subSet в интерфейсе NavigableSet<E>
Определен в:
subSet в интерфейсе SortedSet<E>
Параметры:
fromElement - нижняя граница возвращаемого множества (включительно)
toElement - верхняя граница возвращаемого множества (исключительно)
Возвращает:
представление части этого множества, элементы которой находятся в диапазоне от fromElement включительно до toElement исключительно
Исключения:
ClassCastException - если fromElement и toElement нельзя сравнить друг с другом с помощью компаратора этого множества (или, если у множества нет компаратора, с помощью естественного порядка). Реализации могут выбрасывать это исключение, если fromElement или toElement нельзя сравнить с элементами, находящимися в данный момент в множестве, но не обязаны это делать.
NullPointerException - если fromElement или toElement равен null, а это множество использует естественный порядок либо его компаратор не допускает элементы null
IllegalArgumentException - если fromElement больше toElement или если диапазон самого множества ограничен, а fromElement или toElement находится за его пределами

headSet

public SortedSet<E> headSet(E toElement)
Описание скопировано из интерфейса: NavigableSet
Возвращает представление части этого множества, элементы которой строго меньше toElement. Возвращаемое множество поддерживается этим множеством, поэтому изменения возвращаемого множества отражаются в этом множестве, и наоборот. Возвращаемое множество поддерживает все необязательные операции над множествами, которые поддерживает это множество.

При попытке вставить элемент за пределами диапазона возвращаемое множество выбросит IllegalArgumentException.

Эквивалентно headSet(toElement, false).

Определен в:
headSet в интерфейсе NavigableSet<E>
Определен в:
headSet в интерфейсе SortedSet<E>
Параметры:
toElement - верхняя граница возвращаемого множества (исключительно)
Возвращает:
представление части этого множества, элементы которой строго меньше toElement
Исключения:
ClassCastException - если toElement несовместим с компаратором этого множества (или, если у множества нет компаратора, если toElement не реализует Comparable). Реализации могут выбрасывать это исключение, если toElement нельзя сравнить с элементами, находящимися в данный момент в множестве, но не обязаны это делать.
NullPointerException - если toElement равен null, а это множество использует естественный порядок либо его компаратор не допускает элементы null
IllegalArgumentException - если диапазон самого множества ограничен, а toElement находится за его пределами

tailSet

public SortedSet<E> tailSet(E fromElement)
Описание скопировано из интерфейса: NavigableSet
Возвращает представление части этого множества, элементы которой больше или равны fromElement. Возвращаемое множество поддерживается этим множеством, поэтому изменения возвращаемого множества отражаются в этом множестве, и наоборот. Возвращаемое множество поддерживает все необязательные операции над множествами, которые поддерживает это множество.

При попытке вставить элемент за пределами диапазона возвращаемое множество выбросит IllegalArgumentException.

Эквивалентно tailSet(fromElement, true).

Определен в:
tailSet в интерфейсе NavigableSet<E>
Определен в:
tailSet в интерфейсе SortedSet<E>
Параметры:
fromElement - нижняя граница возвращаемого множества (включительно)
Возвращает:
представление части этого множества, элементы которой больше или равны fromElement
Исключения:
ClassCastException - если fromElement несовместим с компаратором этого множества (или, если у множества нет компаратора, если fromElement не реализует Comparable). Реализации могут выбрасывать это исключение, если fromElement нельзя сравнить с элементами, находящимися в данный момент в множестве, но не обязаны это делать.
NullPointerException - если fromElement равен null, а это множество использует естественный порядок либо его компаратор не допускает элементы null
IllegalArgumentException - если диапазон самого множества ограничен, а fromElement находится за его пределами

comparator

public Comparator<? super E> comparator()
Описание скопировано из интерфейса: SortedSet
Возвращает компаратор, используемый для упорядочения элементов этого множества, или null, если множество использует естественный порядок элементов.
Определен в:
comparator в интерфейсе SortedSet<E>
Возвращает:
компаратор, используемый для упорядочения элементов этого множества, или null, если множество использует естественный порядок элементов

first

public E first()
Описание скопировано из интерфейса: SortedSet
Возвращает первый (наименьший) элемент, находящийся в данный момент в этом множестве.
Определен в:
first в интерфейсе SortedSet<E>
Возвращает:
первый (наименьший) элемент, находящийся в данный момент в этом множестве
Исключения:
NoSuchElementException - если это множество пусто

last

public E last()
Описание скопировано из интерфейса: SortedSet
Возвращает последний (наибольший) элемент, находящийся в данный момент в этом множестве.
Определен в:
last в интерфейсе SortedSet<E>
Возвращает:
последний (наибольший) элемент, находящийся в данный момент в этом множестве
Исключения:
NoSuchElementException - если это множество пусто

lower

public E lower(E e)
Описание скопировано из интерфейса: NavigableSet
Возвращает наибольший элемент этого множества, строго меньший заданного элемента, или null, если такого элемента нет.
Определен в:
lower в интерфейсе NavigableSet<E>
Параметры:
e - значение для поиска
Возвращает:
наибольший элемент, меньший e, или null, если такого элемента нет
Исключения:
ClassCastException - если указанный элемент нельзя сравнить с элементами, находящимися в данный момент в множестве
NullPointerException - если указанный элемент равен null, а это множество использует естественный порядок либо его компаратор не допускает элементы null
С версии:
1.6

floor

public E floor(E e)
Описание скопировано из интерфейса: NavigableSet
Возвращает наибольший элемент этого множества, меньший или равный заданному элементу, либо null, если такого элемента нет.
Определен в:
floor в интерфейсе NavigableSet<E>
Параметры:
e - значение для поиска
Возвращает:
наибольший элемент, меньший или равный e, либо null, если такого элемента нет
Исключения:
ClassCastException - если указанный элемент нельзя сравнить с элементами, находящимися в данный момент в множестве
NullPointerException - если указанный элемент равен null, а это множество использует естественный порядок либо его компаратор не допускает элементы null
С версии:
1.6

ceiling

public E ceiling(E e)
Описание скопировано из интерфейса: NavigableSet
Возвращает наименьший элемент этого множества, больший или равный заданному элементу, либо null, если такого элемента нет.
Определен в:
ceiling в интерфейсе NavigableSet<E>
Параметры:
e - значение для поиска
Возвращает:
наименьший элемент, больший или равный e, либо null, если такого элемента нет
Исключения:
ClassCastException - если указанный элемент нельзя сравнить с элементами, находящимися в данный момент в множестве
NullPointerException - если указанный элемент равен null, а это множество использует естественный порядок либо его компаратор не допускает элементы null
С версии:
1.6

higher

public E higher(E e)
Описание скопировано из интерфейса: NavigableSet
Возвращает наименьший элемент этого набора, строго больший заданного элемента, или null, если такого элемента нет.
Определено в:
higher в интерфейсе NavigableSet<E>
Параметры:
e — значение для поиска
Возвращает:
наименьший элемент, больший, чем e, или null, если такого элемента нет
Вызывает исключение:
ClassCastException — если указанный элемент нельзя сравнить с элементами, которые в данный момент находятся в наборе
NullPointerException — если указанный элемент равен null, а в этом наборе используется естественный порядок сортировки или его компаратор не допускает элементы null
Начиная с версии:
1.6

pollFirst

public E pollFirst()
Описание скопировано из интерфейса: NavigableSet
Извлекает и удаляет первый (наименьший) элемент или возвращает null, если набор пуст (необязательная операция).
Определено в:
pollFirst в интерфейсе NavigableSet<E>
Возвращает:
первый элемент или null, если набор пуст
Начиная с версии:
1.6

pollLast

public E pollLast()
Описание скопировано из интерфейса: NavigableSet
Извлекает и удаляет последний (наибольший) элемент или возвращает null, если набор пуст (необязательная операция).
Определено в:
pollLast в интерфейсе NavigableSet<E>
Возвращает:
последний элемент или null, если набор пуст
Начиная с версии:
1.6

addFirst

public void addFirst(E e)
Вызывает UnsupportedOperationException. Порядок обхода, определяемый методом сравнения этого набора, задаёт расположение элементов, поэтому явное указание позиции не поддерживается.
Определено в:
addFirst в интерфейсе SequencedCollection<E>
Определено в:
addFirst в интерфейсе SortedSet<E>
Параметры:
e — добавляемый элемент
Вызывает исключение:
UnsupportedOperationException — всегда
Начиная с версии:
21

addLast

public void addLast(E e)
Вызывает UnsupportedOperationException. Порядок обхода, определяемый методом сравнения этого набора, задаёт расположение элементов, поэтому явное указание позиции не поддерживается.
Определено в:
addLast в интерфейсе SequencedCollection<E>
Определено в:
addLast в интерфейсе SortedSet<E>
Параметры:
e — добавляемый элемент.
Вызывает исключение:
UnsupportedOperationException — всегда
Начиная с версии:
21

clone

public Object clone()
Возвращает поверхностную копию экземпляра TreeSet. (Сами элементы не клонируются.)
Переопределяет:
clone в классе Object
Возвращает:
поверхностную копию этого набора
См. также:
  • Cloneable

spliterator

public Spliterator<E> spliterator()
Создаёт привязанный с задержкой и быстро завершающийся при изменениях Spliterator для элементов этого набора.

Spliterator сообщает о характеристиках Spliterator.SIZED, Spliterator.DISTINCT, Spliterator.SORTED и Spliterator.ORDERED. В переопределяющих реализациях следует документировать сведения о дополнительных значениях характеристик.

Компаратор сплитератора (см. Spliterator.getComparator()) равен null, если компаратор набора tree (см. comparator()) равен null. В противном случае компаратор сплитератора совпадает с компаратором набора tree или задаёт тот же полный порядок.

Определено в:
spliterator в интерфейсе Collection<E>
Определено в:
spliterator в интерфейсе Iterable<E>
Определено в:
spliterator в интерфейсе Set<E>
Определено в:
spliterator в интерфейсе SortedSet<E>
Возвращает:
Spliterator для элементов этого набора
Начиная с версии:
1.8

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2026, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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.

Spec-Zone.ru

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