|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.util.AbstractCollection<K>
it.unimi.dsi.fastutil.objects.AbstractObjectCollection<K>
it.unimi.dsi.fastutil.objects.AbstractObjectSet<K>
it.unimi.dsi.fastutil.objects.AbstractObjectSortedSet<K>
it.unimi.dsi.fastutil.objects.ObjectAVLTreeSet<K>
public class ObjectAVLTreeSet<K>
A type-specific AVL tree set with a fast, small-footprint implementation.
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.
Field Summary | |
---|---|
static long |
serialVersionUID
|
Constructor Summary | |
---|---|
ObjectAVLTreeSet()
Creates a new empty tree set. |
|
ObjectAVLTreeSet(Collection<? extends K> c)
Creates a new tree set copying a given set. |
|
ObjectAVLTreeSet(Comparator<? super K> c)
Creates a new empty tree set with the given comparator. |
|
ObjectAVLTreeSet(Iterator<? extends K> i)
Creates a new tree set using elements provided by an iterator. |
|
ObjectAVLTreeSet(K[] a)
Creates a new tree set copying the elements of an array. |
|
ObjectAVLTreeSet(K[] a,
Comparator<? super K> c)
Creates a new tree set copying the elements of an array using a given Comparator . |
|
ObjectAVLTreeSet(K[] a,
int offset,
int length)
Creates a new tree set and fills it with the elements of a given array. |
|
ObjectAVLTreeSet(K[] a,
int offset,
int length,
Comparator<? super K> c)
Creates a new tree set and fills it with the elements of a given array using a given Comparator . |
|
ObjectAVLTreeSet(ObjectCollection<? extends K> c)
Creates a new tree set copying a given type-specific collection. |
|
ObjectAVLTreeSet(ObjectIterator<? extends K> i)
Creates a new tree set using elements provided by a type-specific iterator. |
|
ObjectAVLTreeSet(ObjectSortedSet<K> s)
Creates a new tree set copying a given type-specific sorted set (and its Comparator ). |
|
ObjectAVLTreeSet(SortedSet<K> s)
Creates a new tree set copying a given sorted set (and its Comparator ). |
Method Summary | |
---|---|
boolean |
add(K k)
|
void |
clear()
|
Object |
clone()
Returns a deep copy of this tree set. |
Comparator<? super K> |
comparator()
|
boolean |
contains(Object k)
|
K |
first()
|
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(Object k)
Removes an element from this set. |
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 . |
Methods inherited from class it.unimi.dsi.fastutil.objects.AbstractObjectSortedSet |
---|
objectIterator |
Methods inherited from class it.unimi.dsi.fastutil.objects.AbstractObjectSet |
---|
equals, hashCode |
Methods inherited from class it.unimi.dsi.fastutil.objects.AbstractObjectCollection |
---|
addAll, containsAll, removeAll, retainAll, toArray, toArray, toString |
Methods inherited from class java.lang.Object |
---|
getClass, notify, notifyAll, wait, wait, wait |
Methods inherited from interface it.unimi.dsi.fastutil.objects.ObjectSortedSet |
---|
objectIterator |
Methods inherited from interface it.unimi.dsi.fastutil.objects.ObjectCollection |
---|
toArray |
Methods inherited from interface java.util.Set |
---|
addAll, containsAll, equals, hashCode, removeAll, retainAll, toArray, toArray |
Field Detail |
---|
public static final long serialVersionUID
Constructor Detail |
---|
public ObjectAVLTreeSet()
public ObjectAVLTreeSet(Comparator<? super K> c)
c
- a Comparator
(even better, a type-specific comparator).public ObjectAVLTreeSet(Collection<? extends K> c)
c
- a collection to be copied into the new tree set.public ObjectAVLTreeSet(SortedSet<K> s)
Comparator
).
s
- a SortedSet
to be copied into the new tree set.public ObjectAVLTreeSet(ObjectCollection<? extends K> c)
c
- a type-specific collection to be copied into the new tree set.public ObjectAVLTreeSet(ObjectSortedSet<K> s)
Comparator
).
s
- a type-specific sorted set to be copied into the new tree set.public ObjectAVLTreeSet(ObjectIterator<? extends K> i)
i
- a type-specific iterator whose elements will fill the set.public ObjectAVLTreeSet(Iterator<? extends K> i)
i
- an iterator whose elements will fill the set.public ObjectAVLTreeSet(K[] a, int offset, int length, 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 ObjectAVLTreeSet(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 ObjectAVLTreeSet(K[] a)
a
- an array to be copied into the new tree set.public ObjectAVLTreeSet(K[] a, Comparator<? super K> c)
Comparator
.
a
- an array to be copied into the new tree set.c
- a Comparator
(even better, a type-specific comparator).Method Detail |
---|
public boolean add(K k)
add
in interface Collection<K>
add
in interface Set<K>
add
in class AbstractObjectCollection<K>
public boolean remove(Object k)
ObjectSet
Note that the corresponding method of the type-specific collection is rem()
.
This unfortunate situation is caused by the clash
with the similarly named index-based method in the List
interface.
remove
in interface ObjectSet<K>
remove
in interface Collection<K>
remove
in interface Set<K>
remove
in class AbstractObjectSet<K>
Collection.remove(Object)
public boolean contains(Object k)
contains
in interface Collection<K>
contains
in interface Set<K>
contains
in class AbstractCollection<K>
public void clear()
clear
in interface Collection<K>
clear
in interface Set<K>
clear
in class AbstractCollection<K>
public int size()
size
in interface Collection<K>
size
in interface Set<K>
size
in class AbstractCollection<K>
public boolean isEmpty()
isEmpty
in interface Collection<K>
isEmpty
in interface Set<K>
isEmpty
in class AbstractObjectCollection<K>
public K first()
first
in interface SortedSet<K>
public K last()
last
in interface SortedSet<K>
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 ObjectCollection<K>
iterator
in interface ObjectIterable<K>
iterator
in interface ObjectSet<K>
iterator
in interface ObjectSortedSet<K>
iterator
in interface Iterable<K>
iterator
in interface Collection<K>
iterator
in interface Set<K>
iterator
in class AbstractObjectSortedSet<K>
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 Comparator<? super K> comparator()
comparator
in interface 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 SortedSet<K>
SortedSet.headSet(Object)
public ObjectSortedSet<K> tailSet(K from)
ObjectSortedSet
fromElement
.
Note that this specification strengthens the one given in SortedSet.tailSet(Object)
.
tailSet
in interface ObjectSortedSet<K>
tailSet
in interface 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 SortedSet<K>
SortedSet.subSet(Object,Object)
public 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 Object
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |