|
Spec-Zone .ru
спецификации, руководства, описания, API
|
E - тип элементов сохраняется этим наборомpublic class TreeSet<E> extends AbstractSet<E> implements NavigableSet<E>, Cloneable, Serializable
NavigableSet реализация, основанная на a TreeMap. Элементы упорядочиваются, используя их естественное упорядочивание, или a Comparator если во время создания набора, в зависимости от которого используется конструктор. Эта реализация обеспечивает гарантируемый журнал (n) стоимость времени для основных операций (add, remove и contains).
Отметьте, что упорядочивание, сохраняемое набором (обеспечивается ли явный компаратор), должно быть непротиворечивым с, равняется, если это должно правильно реализовать Set интерфейс. (См. Comparable или Comparator для точного определения непротиворечивых с равняется.) Это так потому что Set интерфейс определяется с точки зрения equals работа, но a TreeSet экземпляр выполняет все сравнения элемента, используя compareTo (или compare) метод, таким образом, два элемента, которые считает равными этот метод, с точки зрения набора, равного. Поведение набора четко определено, даже если его упорядочивание непоследовательно с, равняется; это только не в состоянии повиноваться общему контракту Set интерфейс.
Отметьте, что эта реализация не синхронизируется. Если многократные потоки получают доступ к древовидному набору одновременно, и по крайней мере один из потоков изменяет набор, он должен синхронизироваться внешне. Это обычно выполняется, синхронизируясь на некотором объекте, который естественно инкапсулирует набор. Если никакой такой объект не существует, набор должен быть "обернут", используя Collections.synchronizedSortedSet метод. Это лучше всего делается во время создания, чтобы предотвратить случайный несинхронизируемый доступ к набору:
SortedSet s = Collections.synchronizedSortedSet(new TreeSet(...));
iterators возвратился этим class iterator метод является сбоем быстро: если набор изменяется когда-либо после того, как iterator создается, всегда кроме через собственный iterator's remove метод, iterator бросит a ConcurrentModificationException. Таким образом, перед лицом параллельной модификации, iterator перестал работать быстро и чисто, вместо того, чтобы рискнуть произвольным, недетерминированным поведением в неопределенное время в будущем.
Отметьте, что поведение сбоя быстро iterator не может быть гарантировано, как, вообще говоря, невозможно сделать любые трудные гарантии в присутствии несинхронизируемой параллельной модификации. Приведите бросок iterators к сбою быстро ConcurrentModificationException на основе максимальных усилий. Поэтому, было бы неправильно записать программу, которая зависела от этого исключения для его правильности: поведение сбоя быстро iterators должно использоваться только, чтобы обнаружить ошибки.
Этот class является элементом Платформы Наборов Java.
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)
Добавляют все элементы в указанном наборе к этому набору.
|
E |
ceiling(E e)
Возвращает наименьшее количество элемента в этом наборе, больше чем или равный данному элементу, или
null если нет такого элемента. |
void |
clear()
Удаляет все элементы от этого набора.
|
Объект |
clone()
Возвращает мелкую копию этого
TreeSet экземпляр. |
Comparator<? super E> |
comparator()
Возвращает компаратор, используемый, чтобы упорядочить элементы в этом наборе, или null, если этот набор использует естественное упорядочивание своих элементов.
|
boolean |
contains(Object o)
Возвраты
true если этот набор содержит указанный элемент. |
Iterator<E> |
descendingIterator()
Возвращает iterator по элементам в этом наборе в порядке убывания.
|
NavigableSet<E> |
descendingSet()
Возвращает представление обратного порядка элементов, содержавшихся в этом наборе.
|
E |
first()
Возвращает первый (самый низкий) элемент в настоящий момент в этом наборе.
|
E |
floor(E e)
Возвращает самый большой элемент в этом наборе, меньше чем или равном данному элементу, или
null если нет такого элемента. |
SortedSet<E> |
headSet(E toElement)
Возвращает представление части этого набора, элементы которого являются строго меньше чем toElement.
|
NavigableSet<E> |
headSet(E toElement, boolean inclusive)
Возвращает представление части этого набора, элементы которого являются меньше чем (или равный, если
inclusive истина), toElement. |
E |
higher(E e)
Возвращает наименьшее количество элемента в этом наборе, строго больше чем данный элемент, или
null если нет такого элемента. |
boolean |
isEmpty()
Возвраты
true если этот набор не содержит элементов. |
Iterator<E> |
iterator()
Возвращает iterator по элементам в этом наборе в порядке возрастания.
|
E |
last()
Возвращает последний (самый высокий) элемент в настоящий момент в этом наборе.
|
E |
lower(E e)
Возвращает самый большой элемент в этом наборе строго меньше чем данный элемент, или
null если нет такого элемента. |
E |
pollFirst()
Получает и удаляет первый (самый низкий) элемент, или возвраты
null если этот набор пуст. |
E |
pollLast()
Получает и удаляет последний (самый высокий) элемент, или возвраты
null если этот набор пуст. |
boolean |
remove(Object o)
Удаляет указанный элемент из этого набора, если это присутствует.
|
int |
size()
Возвращает число элементов в этом наборе (его количество элементов).
|
Spliterator<E> |
spliterator()
Создает a
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 истина), fromElement. |
equals, hashCode, removeAllcontainsAll, retainAll, toArray, toArray, toStringfinalize, getClass, notify, notifyAll, wait, wait, waitcontainsAll, equals, hashCode, removeAll, retainAll, toArray, toArrayparallelStream, removeIf, streamforEachpublic TreeSet()
Comparable интерфейс. Кроме того все такие элементы должны быть взаимно сопоставимыми: e1.compareTo(e2) не должен бросить a ClassCastException для любых элементов e1 и e2 в наборе. Если пользователь пытается добавить элемент к набору, который нарушает это ограничение (например, пользователь пытается добавить строковый элемент к набору, элементы которого являются целыми числами), add вызов бросит a ClassCastException.public TreeSet(Comparator<? super E> comparator)
comparator.compare(e1, e2) не должен бросить a ClassCastException для любых элементов e1 и e2 в наборе. Если пользователь пытается добавить элемент к набору, который нарушает это ограничение, add вызов бросит a ClassCastException.comparator - компаратор, который будет использоваться, чтобы упорядочить этот набор. Если null, естественное упорядочивание элементов будет использоваться.public TreeSet(Collection<? extends E> c)
Comparable интерфейс. Кроме того все такие элементы должны быть взаимно сопоставимыми: e1.compareTo(e2) не должен бросить a ClassCastException для любых элементов e1 и e2 в наборе.c - набор, элементы которого будут включать новый наборClassCastException - если элементы в c не Comparable, или не взаимно сопоставимыNullPointerException - если указанный набор является нулемpublic TreeSet(SortedSet<E> s)
s - сортированный набор, элементы которого будут включать новый наборNullPointerException - если указанный сортированный набор является нулемpublic Iterator<E> iterator()
iterator в интерфейсе Iterable<E>iterator в интерфейсе Collection<E>iterator в интерфейсе NavigableSet<E>iterator в интерфейсе Set<E>iterator в class AbstractCollection<E>public Iterator<E> descendingIterator()
descendingIterator в интерфейсе NavigableSet<E>public NavigableSet<E> descendingSet()
NavigableSetremove работа), результаты итерации неопределены. У возвращенного набора есть упорядочивание, эквивалентное Collections.reverseOrder(comparator()). Выражение s.descendingSet().descendingSet() возвращает представление s чрезвычайно эквивалентный s.
descendingSet в интерфейсе NavigableSet<E>public int size()
size в интерфейсе Collection<E>size в интерфейсе Set<E>size в class AbstractCollection<E>public boolean isEmpty()
true если этот набор не содержит элементов.isEmpty в интерфейсе Collection<E>isEmpty в интерфейсе Set<E>isEmpty в class AbstractCollection<E>true если этот набор не содержит элементовpublic boolean contains(Object o)
true если этот набор содержит указанный элемент. Более формально, возвраты true если и только если этот набор содержит элемент e так, что (o==null ? e==null : o.equals(e)).contains в интерфейсе Collection<E>contains в интерфейсе Set<E>contains в class AbstractCollection<E>o - объект, который будет проверен на включение в этом набореtrue если этот набор содержит указанный элементClassCastException - если указанный объект не может быть по сравнению с элементами в настоящий момент в набореNullPointerException - если указанный элемент является нулем, и этот набор использует естественное упорядочивание, или его компаратор не разрешает нулевые элементыpublic boolean add(E e)
e к этому набору, если набор не содержит элемента e2 так, что (e==null ? e2==null : e.equals(e2)). Если этот набор уже содержит элемент, листы вызова неизменный набор и возвраты false.add в интерфейсе Collection<E>add в интерфейсе Set<E>add в class AbstractCollection<E>e - элемент, который будет добавлен к этому наборуtrue если этот набор уже не содержал указанный элементClassCastException - если указанный объект не может быть по сравнению с элементами в настоящий момент в этом набореNullPointerException - если указанный элемент является нулем, и этот набор использует естественное упорядочивание, или его компаратор не разрешает нулевые элементыpublic boolean remove(Object o)
e так, что (o==null ? e==null : o.equals(e)), если этот набор содержит такой элемент. Возвраты true если этот набор, содержавший элемент (или эквивалентно, если этот набор, измененный в результате вызова). (Этот набор не будет содержать элемент, как только вызов возвращается.)remove в интерфейсе Collection<E>remove в интерфейсе Set<E>remove в class AbstractCollection<E>o - объект, который будет удален из этого набора, если существующийtrue если этот набор, содержавший указанный элементClassCastException - если указанный объект не может быть по сравнению с элементами в настоящий момент в этом набореNullPointerException - если указанный элемент является нулем, и этот набор использует естественное упорядочивание, или его компаратор не разрешает нулевые элементыpublic void clear()
clear в интерфейсе Collection<E>clear в интерфейсе Set<E>clear в class AbstractCollection<E>public boolean addAll(Collection<? extends E> c)
addAll в интерфейсе Collection<E>addAll в интерфейсе Set<E>addAll в class AbstractCollection<E>c - набор, содержащий элементы, которые будут добавлены к этому наборуtrue если этот набор изменился в результате вызоваClassCastException - если обеспеченные элементы не могут быть по сравнению с элементами в настоящий момент в набореNullPointerException - если указанный набор является нулем или если какой-либо элемент является нулем, и этот набор использует естественное упорядочивание, или его компаратор не разрешает нулевые элементыAbstractCollection.add(Object)public NavigableSet<E> subSet(E fromElement, boolean fromInclusive, E toElement, boolean toInclusive)
NavigableSetfromElement к toElement. Если fromElement и toElement равны, возвращенный набор не пуст если fromInclusive и toInclusive оба истина. Возвращенный набор поддерживается этим набором, таким образом, изменения в возвращенном наборе отражаются в этом наборе, и наоборот. Возвращенный набор поддерживает все дополнительные операции присвоения, которые поддерживает этот набор. Возвращенный набор бросит IllegalArgumentException на попытке вставить элемент вне его диапазона.
subSet в интерфейсе NavigableSet<E>fromElement - низкая конечная точка возвращенного набораfromInclusive - true если низкая конечная точка должна быть включена в возвращенное представлениеtoElement - высокая конечная точка возвращенного набораtoInclusive - true если высокая конечная точка должна быть включена в возвращенное представлениеfromElement, включительно, к toElement, монопольныйClassCastException - если fromElement и toElement не может быть по сравнению с друг другом, используя компаратор этого набора (или, если у набора нет никакого компаратора, используя естественное упорядочивание). Реализации, но не обязаны, может выдать это исключение если fromElement или toElement не может быть по сравнению с элементами в настоящий момент в наборе.NullPointerException - если fromElement или toElement нуль, и этот набор использует естественное упорядочивание, или его компаратор не разрешает нулевые элементыIllegalArgumentException - если fromElement больше чем toElement; или если у этого самого набора есть ограниченный диапазон, и fromElement или toElement находится вне границ диапазона.public NavigableSet<E> headSet(E toElement, boolean inclusive)
NavigableSetinclusive истина), toElement. Возвращенный набор поддерживается этим набором, таким образом, изменения в возвращенном наборе отражаются в этом наборе, и наоборот. Возвращенный набор поддерживает все дополнительные операции присвоения, которые поддерживает этот набор. Возвращенный набор бросит IllegalArgumentException на попытке вставить элемент вне его диапазона.
headSet в интерфейсе NavigableSet<E>toElement - высокая конечная точка возвращенного набораinclusive - true если высокая конечная точка должна быть включена в возвращенное представлениеinclusive истина), toElementClassCastException - если toElement не является совместимым с компаратором этого набора (или, если у набора нет никакого компаратора, если toElement не реализует Comparable). Реализации, но не обязаны, может выдать это исключение если toElement не может быть по сравнению с элементами в настоящий момент в наборе.NullPointerException - если toElement нуль, и этот набор использует естественное упорядочивание, или его компаратор не разрешает нулевые элементыIllegalArgumentException - если у этого самого набора есть ограниченный диапазон, и toElement находится вне границ диапазонаpublic NavigableSet<E> tailSet(E fromElement, boolean inclusive)
NavigableSetinclusive истина), fromElement. Возвращенный набор поддерживается этим набором, таким образом, изменения в возвращенном наборе отражаются в этом наборе, и наоборот. Возвращенный набор поддерживает все дополнительные операции присвоения, которые поддерживает этот набор. Возвращенный набор бросит IllegalArgumentException на попытке вставить элемент вне его диапазона.
tailSet в интерфейсе NavigableSet<E>fromElement - низкая конечная точка возвращенного набораinclusive - true если низкая конечная точка должна быть включена в возвращенное представлениеfromElementClassCastException - если fromElement не является совместимым с компаратором этого набора (или, если у набора нет никакого компаратора, если fromElement не реализует Comparable). Реализации, но не обязаны, может выдать это исключение если fromElement не может быть по сравнению с элементами в настоящий момент в наборе.NullPointerException - если fromElement нуль, и этот набор использует естественное упорядочивание, или его компаратор не разрешает нулевые элементыIllegalArgumentException - если у этого самого набора есть ограниченный диапазон, и fromElement находится вне границ диапазонаpublic SortedSet<E> subSet(E fromElement, E toElement)
NavigableSetВозвращенный набор бросит IllegalArgumentException на попытке вставить элемент вне его диапазона.
Эквивалентный subSet(fromElement, true, toElement, false).
subSet в интерфейсе NavigableSet<E>subSet в интерфейсе SortedSet<E>fromElement - низкая конечная точка (включительно) возвращенного набораtoElement - высокая конечная точка (монопольная) из возвращенного набораClassCastException - если fromElement и toElement не могут быть по сравнению с друг другом, используя компаратор этого набора (или, если у набора нет никакого компаратора, используя естественное упорядочивание). Реализации, но не обязаны, может выдать это исключение, если fromElement или toElement не могут быть по сравнению с элементами в настоящий момент в наборе.NullPointerException - если fromElement или toElement нуль, и этот набор использует естественное упорядочивание, или его компаратор не разрешает нулевые элементыIllegalArgumentException - если fromElement больше чем toElement; или если у этого самого набора есть ограниченный диапазон, и fromElement или toElement находятся вне границ диапазонаpublic SortedSet<E> headSet(E toElement)
NavigableSetВозвращенный набор бросит IllegalArgumentException на попытке вставить элемент вне его диапазона.
Эквивалентный headSet(toElement, false).
headSet в интерфейсе NavigableSet<E>headSet в интерфейсе SortedSet<E>toElement - высокая конечная точка (монопольная) из возвращенного набораClassCastException - если toElement не является совместимым с компаратором этого набора (или, если у набора нет никакого компаратора, если toElement не реализует Comparable). Реализации, но не обязаны, может выдать это исключение, если toElement не может быть по сравнению с элементами в настоящий момент в наборе.NullPointerException - если toElement нуль, и этот набор использует естественное упорядочивание, или его компаратор не разрешает нулевые элементыIllegalArgumentException - если у этого самого набора есть ограниченный диапазон, и toElement находится вне границ диапазона napublic SortedSet<E> tailSet(E fromElement)
NavigableSetВозвращенный набор бросит IllegalArgumentException на попытке вставить элемент вне его диапазона.
Эквивалентный tailSet(fromElement, true).
tailSet в интерфейсе NavigableSet<E>tailSet в интерфейсе SortedSet<E>fromElement - низкая конечная точка (включительно) возвращенного набораClassCastException - если fromElement не является совместимым с компаратором этого набора (или, если у набора нет никакого компаратора, если fromElement не реализует Comparable). Реализации, но не обязаны, может выдать это исключение, если fromElement не может быть по сравнению с элементами в настоящий момент в наборе.NullPointerException - если fromElement нуль, и этот набор использует естественное упорядочивание, или его компаратор не разрешает нулевые элементыIllegalArgumentException - если у этого самого набора есть ограниченный диапазон, и fromElement находится вне границ диапазонаpublic Comparator<? super E> comparator()
SortedSetcomparator в интерфейсе SortedSet<E>public E first()
SortedSetfirst в интерфейсе SortedSet<E>NoSuchElementException - если этот набор пустpublic E last()
SortedSetlast в интерфейсе SortedSet<E>NoSuchElementException - если этот набор пустpublic E lower(E e)
NavigableSetnull если нет такого элемента.lower в интерфейсе NavigableSet<E>e - значение, чтобы соответствоватьe, или null если нет такого элементаClassCastException - если указанный элемент не может быть по сравнению с элементами в настоящий момент в набореNullPointerException - если указанный элемент является нулем, и этот набор использует естественное упорядочивание, или его компаратор не разрешает нулевые элементыpublic E floor(E e)
NavigableSetnull если нет такого элемента.floor в интерфейсе NavigableSet<E>e - значение, чтобы соответствоватьe, или null если нет такого элементаClassCastException - если указанный элемент не может быть по сравнению с элементами в настоящий момент в набореNullPointerException - если указанный элемент является нулем, и этот набор использует естественное упорядочивание, или его компаратор не разрешает нулевые элементыpublic E ceiling(E e)
NavigableSetnull если нет такого элемента.ceiling в интерфейсе NavigableSet<E>e - значение, чтобы соответствоватьe, или null если нет такого элементаClassCastException - если указанный элемент не может быть по сравнению с элементами в настоящий момент в набореNullPointerException - если указанный элемент является нулем, и этот набор использует естественное упорядочивание, или его компаратор не разрешает нулевые элементыpublic E higher(E e)
NavigableSetnull если нет такого элемента.higher в интерфейсе NavigableSet<E>e - значение, чтобы соответствоватьe, или null если нет такого элементаClassCastException - если указанный элемент не может быть по сравнению с элементами в настоящий момент в набореNullPointerException - если указанный элемент является нулем, и этот набор использует естественное упорядочивание, или его компаратор не разрешает нулевые элементыpublic E pollFirst()
NavigableSetnull если этот набор пуст.pollFirst в интерфейсе NavigableSet<E>null если этот набор пустpublic E pollLast()
NavigableSetnull если этот набор пуст.pollLast в интерфейсе NavigableSet<E>null если этот набор пустpublic Object clone()
TreeSet экземпляр. (Сами элементы не клонируются.)public Spliterator<E> spliterator()
SortedSetSpliterator по элементам в этом сортированном наборе. Spliterator отчеты Spliterator.SIZED, Spliterator.DISTINCT, Spliterator.SORTED и Spliterator.ORDERED. Реализации должны задокументировать создание отчетов дополнительных характеристических значений.
Компаратор spliterator (см. Spliterator.getComparator()) должен быть null если компаратор сортированного набора (см. SortedSet.comparator()) null. Иначе, компаратор spliterator должен быть тем же самым как или наложить то же самое общее количество, упорядочивая как компаратор сортированного набора.
spliterator в интерфейсе Collection<E>spliterator в интерфейсе Set<E>spliterator в интерфейсе SortedSet<E>Spliterator по элементам в этом сортированном наборе
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92