ObjectBidirectionalIterable<K>
, ObjectCollection<K>
, ObjectIterable<K>
, ObjectSet<K>
, ObjectSortedSet<K>
, java.io.Serializable
, java.lang.Cloneable
, java.lang.Iterable<K>
, java.util.Collection<K>
, java.util.Set<K>
, java.util.SortedSet<K>
public class ObjectRBTreeSet<K> extends AbstractObjectSortedSet<K> implements java.io.Serializable, java.lang.Cloneable, ObjectSortedSet<K>
The iterators provided by this class are type-specific
bidirectional iterators
.
Moreover, the iterator returned by iterator()
can be safely cast to a
type-specific list iterator.
Constructor | Description |
---|---|
ObjectRBTreeSet() |
Creates a new empty tree set.
|
ObjectRBTreeSet(ObjectCollection<? extends K> c) |
Creates a new tree set copying a given type-specific collection.
|
ObjectRBTreeSet(ObjectSortedSet<K> s) |
Creates a new tree set copying a given type-specific sorted set (and its
Comparator ). |
ObjectRBTreeSet(java.util.Collection<? extends K> c) |
Creates a new tree set copying a given collection.
|
ObjectRBTreeSet(java.util.Comparator<? super K> c) |
Creates a new empty tree set with the given comparator.
|
ObjectRBTreeSet(java.util.Iterator<? extends K> i) |
Creates a new tree set using elements provided by a type-specific iterator.
|
ObjectRBTreeSet(java.util.SortedSet<K> s) |
Creates a new tree set copying a given sorted set (and its
Comparator ). |
ObjectRBTreeSet(K[] a) |
Creates a new tree set copying the elements of an array.
|
ObjectRBTreeSet(K[] a,
int offset,
int length) |
Creates a new tree set and fills it with the elements of a given array.
|
ObjectRBTreeSet(K[] a,
int offset,
int length,
java.util.Comparator<? super K> c) |
Creates a new tree set and fills it with the elements of a given array using
a given
Comparator . |
ObjectRBTreeSet(K[] a,
java.util.Comparator<? super K> c) |
Creates a new tree set copying the elements of an array using a given
Comparator . |
Modifier and Type | Method | Description |
---|---|---|
boolean |
add(K k) |
|
void |
clear() |
|
java.lang.Object |
clone() |
Returns a deep copy of this tree set.
|
java.util.Comparator<? super K> |
comparator() |
|
boolean |
contains(java.lang.Object k) |
|
K |
first() |
|
K |
get(java.lang.Object k) |
|
ObjectSortedSet<K> |
headSet(K to) |
Returns a view of the portion of this sorted set whose elements are strictly
less than
toElement . |
boolean |
isEmpty() |
|
ObjectBidirectionalIterator<K> |
iterator() |
Returns a type-specific iterator on the elements of this collection.
|
ObjectBidirectionalIterator<K> |
iterator(K from) |
Returns a type-specific
BidirectionalIterator
on the elements in this set, starting from a given element of the domain
(optional operation). |
K |
last() |
|
boolean |
remove(java.lang.Object k) |
|
int |
size() |
|
ObjectSortedSet<K> |
subSet(K from,
K to) |
Returns a view of the portion of this sorted set whose elements range from
fromElement , inclusive, to toElement , exclusive. |
ObjectSortedSet<K> |
tailSet(K from) |
Returns a view of the portion of this sorted set whose elements are greater
than or equal to
fromElement . |
addAll, containsAll, removeAll, retainAll, toArray, toArray
toString
equals, hashCode
public ObjectRBTreeSet()
public ObjectRBTreeSet(java.util.Comparator<? super K> c)
c
- a Comparator
(even better, a type-specific comparator).public ObjectRBTreeSet(java.util.Collection<? extends K> c)
c
- a collection to be copied into the new tree set.public ObjectRBTreeSet(java.util.SortedSet<K> s)
Comparator
).s
- a SortedSet
to be copied into the new tree set.public ObjectRBTreeSet(ObjectCollection<? extends K> c)
c
- a type-specific collection to be copied into the new tree set.public ObjectRBTreeSet(ObjectSortedSet<K> s)
Comparator
).s
- a type-specific sorted set to be copied into the new tree set.public ObjectRBTreeSet(java.util.Iterator<? extends K> i)
i
- a type-specific iterator whose elements will fill the set.public ObjectRBTreeSet(K[] a, int offset, int length, java.util.Comparator<? super K> c)
Comparator
.a
- an array whose elements will be used to fill the set.offset
- the first element to use.length
- the number of elements to use.c
- a Comparator
(even better, a type-specific comparator).public ObjectRBTreeSet(K[] a, int offset, int length)
a
- an array whose elements will be used to fill the set.offset
- the first element to use.length
- the number of elements to use.public ObjectRBTreeSet(K[] a)
a
- an array to be copied into the new tree set.public boolean add(K k)
public boolean remove(java.lang.Object k)
public boolean contains(java.lang.Object k)
public K get(java.lang.Object k)
public void clear()
public int size()
public boolean isEmpty()
public ObjectBidirectionalIterator<K> iterator()
ObjectCollection
Note that this specification strengthens the one given in
Iterable.iterator()
, which was already strengthened in the
corresponding type-specific class, but was weakened by the fact that this
interface extends Collection
.
iterator
in interface java.util.Collection<K>
iterator
in interface java.lang.Iterable<K>
iterator
in interface ObjectBidirectionalIterable<K>
iterator
in interface ObjectCollection<K>
iterator
in interface ObjectIterable<K>
iterator
in interface ObjectSet<K>
iterator
in interface ObjectSortedSet<K>
iterator
in interface java.util.Set<K>
iterator
in class AbstractObjectSortedSet<K>
Iterable.iterator()
public ObjectBidirectionalIterator<K> iterator(K from)
ObjectSortedSet
BidirectionalIterator
on the elements in this set, starting from a given element of the domain
(optional operation).
This method returns a type-specific bidirectional iterator with given
starting point. The starting point is any element comparable to the elements
of this set (even if it does not actually belong to the set). The next
element of the returned iterator is the least element of the set that is
greater than the starting point (if there are no elements greater than the
starting point, hasNext()
will return false
). The previous element of the returned
iterator is the greatest element of the set that is smaller than or equal to
the starting point (if there are no elements smaller than or equal to the
starting point,
hasPrevious()
will return false
).
Note that passing the last element of the set as starting point and calling
previous()
you
can traverse the entire set in reverse order.
iterator
in interface ObjectSortedSet<K>
from
- an element to start from.public java.util.Comparator<? super K> comparator()
comparator
in interface java.util.SortedSet<K>
public ObjectSortedSet<K> headSet(K to)
ObjectSortedSet
toElement
.
Note that this specification strengthens the one given in
SortedSet.headSet(Object)
.
headSet
in interface ObjectSortedSet<K>
headSet
in interface java.util.SortedSet<K>
SortedSet.headSet(Object)
public ObjectSortedSet<K> tailSet(K from)
ObjectSortedSet
fromElement
.
Note that this specification strengthens the one given in
SortedSet.headSet(Object)
.
tailSet
in interface ObjectSortedSet<K>
tailSet
in interface java.util.SortedSet<K>
SortedSet.tailSet(Object)
public ObjectSortedSet<K> subSet(K from, K to)
ObjectSortedSet
fromElement
, inclusive, to toElement
, exclusive.
Note that this specification strengthens the one given in
SortedSet.subSet(Object,Object)
.
subSet
in interface ObjectSortedSet<K>
subSet
in interface java.util.SortedSet<K>
SortedSet.subSet(Object,Object)
public java.lang.Object clone()
This method performs a deep copy of this tree set; the data stored in the set, however, is not cloned. Note that this makes a difference only for object keys.