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.
| Modifier and Type | Field and Description |
|---|---|
protected java.util.Comparator<? super K> |
actualComparator
This set's actual comparator; it may differ from
storedComparator because it is
always a type-specific comparator, so it could be derived from the former by wrapping. |
protected int |
count
Number of elements in this set.
|
protected it.unimi.dsi.fastutil.objects.ObjectRBTreeSet.Entry<K> |
firstEntry
The entry of the first element of this set.
|
protected it.unimi.dsi.fastutil.objects.ObjectRBTreeSet.Entry<K> |
lastEntry
The entry of the last element of this set.
|
protected java.util.Comparator<? super K> |
storedComparator
This set's comparator, as provided in the constructor.
|
protected it.unimi.dsi.fastutil.objects.ObjectRBTreeSet.Entry<K> |
tree
A reference to the root entry.
|
| Constructor and Description |
|---|
ObjectRBTreeSet()
Creates a new empty tree set.
|
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(K[] a)
Creates a new tree set copying the elements of an array.
|
ObjectRBTreeSet(K[] a,
java.util.Comparator<? super K> c)
Creates a new tree set copying the elements of an array using a given
Comparator. |
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(it.unimi.dsi.fastutil.objects.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.SortedSet<K> s)
Creates a new tree set copying a given sorted set (and its
Comparator). |
| Modifier and Type | Method and 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() |
it.unimi.dsi.fastutil.objects.ObjectBidirectionalIterator<K> |
iterator()
Returns a type-specific iterator on the elements of this set.
|
it.unimi.dsi.fastutil.objects.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. |
equals, hashCodeaddAll, containsAll, removeAll, retainAll, toArray, toArrayfinalize, getClass, notify, notifyAll, wait, wait, waitspliteratorprotected transient it.unimi.dsi.fastutil.objects.ObjectRBTreeSet.Entry<K> tree
protected int count
protected transient it.unimi.dsi.fastutil.objects.ObjectRBTreeSet.Entry<K> firstEntry
protected transient it.unimi.dsi.fastutil.objects.ObjectRBTreeSet.Entry<K> lastEntry
protected java.util.Comparator<? super K> storedComparator
protected transient java.util.Comparator<? super K> actualComparator
storedComparator because it is
always a type-specific comparator, so it could be derived from the former by wrapping.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(it.unimi.dsi.fastutil.objects.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 it.unimi.dsi.fastutil.objects.ObjectBidirectionalIterator<K> iterator()
ObjectSetiterator in interface it.unimi.dsi.fastutil.objects.ObjectBidirectionalIterable<K>iterator in interface it.unimi.dsi.fastutil.objects.ObjectCollection<K>iterator in interface it.unimi.dsi.fastutil.objects.ObjectIterable<K>iterator in interface ObjectSet<K>iterator in interface ObjectSortedSet<K>iterator in interface java.lang.Iterable<K>iterator in interface java.util.Collection<K>iterator in interface java.util.Set<K>iterator in class AbstractObjectSortedSet<K>public it.unimi.dsi.fastutil.objects.ObjectBidirectionalIterator<K> iterator(K from)
ObjectSortedSetBidirectionalIterator 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)
ObjectSortedSettoElement.headSet in interface ObjectSortedSet<K>headSet in interface java.util.SortedSet<K>SortedSet.headSet(Object)public ObjectSortedSet<K> tailSet(K from)
ObjectSortedSetfromElement.tailSet in interface ObjectSortedSet<K>tailSet in interface java.util.SortedSet<K>SortedSet.tailSet(Object)public ObjectSortedSet<K> subSet(K from, K to)
ObjectSortedSetfromElement, inclusive, to toElement, exclusive.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.
clone in class java.lang.Object