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, removeAll
containsAll, retainAll, toArray, toArray, toString
finalize, getClass, notify, notifyAll, wait, wait, wait
containsAll, equals, hashCode, removeAll, retainAll, toArray, toArray
parallelStream, removeIf, stream
forEach
public 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()
NavigableSet
remove
работа), результаты итерации неопределены. У возвращенного набора есть упорядочивание, эквивалентное 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)
NavigableSet
fromElement
к 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)
NavigableSet
inclusive
истина), toElement
. Возвращенный набор поддерживается этим набором, таким образом, изменения в возвращенном наборе отражаются в этом наборе, и наоборот. Возвращенный набор поддерживает все дополнительные операции присвоения, которые поддерживает этот набор. Возвращенный набор бросит IllegalArgumentException
на попытке вставить элемент вне его диапазона.
headSet
в интерфейсе NavigableSet<E>
toElement
- высокая конечная точка возвращенного набораinclusive
- true
если высокая конечная точка должна быть включена в возвращенное представлениеinclusive
истина), toElement
ClassCastException
- если toElement
не является совместимым с компаратором этого набора (или, если у набора нет никакого компаратора, если toElement
не реализует Comparable
). Реализации, но не обязаны, может выдать это исключение если toElement
не может быть по сравнению с элементами в настоящий момент в наборе.NullPointerException
- если toElement
нуль, и этот набор использует естественное упорядочивание, или его компаратор не разрешает нулевые элементыIllegalArgumentException
- если у этого самого набора есть ограниченный диапазон, и toElement
находится вне границ диапазонаpublic NavigableSet<E> tailSet(E fromElement, boolean inclusive)
NavigableSet
inclusive
истина), fromElement
. Возвращенный набор поддерживается этим набором, таким образом, изменения в возвращенном наборе отражаются в этом наборе, и наоборот. Возвращенный набор поддерживает все дополнительные операции присвоения, которые поддерживает этот набор. Возвращенный набор бросит IllegalArgumentException
на попытке вставить элемент вне его диапазона.
tailSet
в интерфейсе NavigableSet<E>
fromElement
- низкая конечная точка возвращенного набораinclusive
- true
если низкая конечная точка должна быть включена в возвращенное представлениеfromElement
ClassCastException
- если 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()
SortedSet
comparator
в интерфейсе SortedSet<E>
public E first()
SortedSet
first
в интерфейсе SortedSet<E>
NoSuchElementException
- если этот набор пустpublic E last()
SortedSet
last
в интерфейсе SortedSet<E>
NoSuchElementException
- если этот набор пустpublic E lower(E e)
NavigableSet
null
если нет такого элемента.lower
в интерфейсе NavigableSet<E>
e
- значение, чтобы соответствоватьe
, или null
если нет такого элементаClassCastException
- если указанный элемент не может быть по сравнению с элементами в настоящий момент в набореNullPointerException
- если указанный элемент является нулем, и этот набор использует естественное упорядочивание, или его компаратор не разрешает нулевые элементыpublic E floor(E e)
NavigableSet
null
если нет такого элемента.floor
в интерфейсе NavigableSet<E>
e
- значение, чтобы соответствоватьe
, или null
если нет такого элементаClassCastException
- если указанный элемент не может быть по сравнению с элементами в настоящий момент в набореNullPointerException
- если указанный элемент является нулем, и этот набор использует естественное упорядочивание, или его компаратор не разрешает нулевые элементыpublic E ceiling(E e)
NavigableSet
null
если нет такого элемента.ceiling
в интерфейсе NavigableSet<E>
e
- значение, чтобы соответствоватьe
, или null
если нет такого элементаClassCastException
- если указанный элемент не может быть по сравнению с элементами в настоящий момент в набореNullPointerException
- если указанный элемент является нулем, и этот набор использует естественное упорядочивание, или его компаратор не разрешает нулевые элементыpublic E higher(E e)
NavigableSet
null
если нет такого элемента.higher
в интерфейсе NavigableSet<E>
e
- значение, чтобы соответствоватьe
, или null
если нет такого элементаClassCastException
- если указанный элемент не может быть по сравнению с элементами в настоящий момент в набореNullPointerException
- если указанный элемент является нулем, и этот набор использует естественное упорядочивание, или его компаратор не разрешает нулевые элементыpublic E pollFirst()
NavigableSet
null
если этот набор пуст.pollFirst
в интерфейсе NavigableSet<E>
null
если этот набор пустpublic E pollLast()
NavigableSet
null
если этот набор пуст.pollLast
в интерфейсе NavigableSet<E>
null
если этот набор пустpublic Object clone()
TreeSet
экземпляр. (Сами элементы не клонируются.)public Spliterator<E> spliterator()
SortedSet
Spliterator
по элементам в этом сортированном наборе. 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