GNU Classpath (0.98) | |
Prev Class | Next Class | Frames | No Frames |
Summary: Nested | Field | Method | Constr | Detail: Nested | Field | Method | Constr |
java.lang.Object
java.util.AbstractCollection<E>
java.util.AbstractSet<E>
java.util.concurrent.ConcurrentSkipListSet<E>
public class ConcurrentSkipListSet<E>
extends AbstractSet<E>
implements NavigableSet<E>, Cloneable, Serializable
NavigableSet
implementation based on
a ConcurrentSkipListMap
. The elements of the set are kept
sorted according to their natural ordering,
or by a Comparator
provided at set creation time, depending
on which constructor is used.
This implementation provides expected average log(n) time
cost for the contains, add, and remove
operations and their variants. Insertion, removal, and access
operations safely execute concurrently by multiple threads.
Iterators are weakly consistent, returning elements
reflecting the state of the set at some point at or since the
creation of the iterator. They do not throw ConcurrentModificationException
, and may proceed concurrently with
other operations. Ascending ordered views and their iterators are
faster than descending ones.
Beware that, unlike in most collections, the size
method is not a constant-time operation. Because of the
asynchronous nature of these sets, determining the current number
of elements requires a traversal of the elements. Additionally, the
bulk operations addAll, removeAll,
retainAll, and containsAll are not
guaranteed to be performed atomically. For example, an iterator
operating concurrently with an addAll operation might view
only some of the added elements.
This class and its iterators implement all of the
optional methods of the Set
and Iterator
interfaces. Like most other concurrent collection implementations,
this class does not permit the use of null elements,
because null arguments and return values cannot be reliably
distinguished from the absence of elements.
This class is a member of the
../../../../technotes/guides/collections/index.html">
Java Collections Framework.
Constructor Summary | |
| |
| |
| |
|
Method Summary | |
boolean |
|
E |
|
void |
|
ConcurrentSkipListSet |
|
boolean | |
Iterator |
|
NavigableSet |
|
boolean | |
E |
|
E |
|
NavigableSet |
|
NavigableSet |
|
E |
|
boolean |
|
Iterator |
|
E |
|
E |
|
E | |
E |
|
boolean | |
boolean |
|
int |
|
NavigableSet |
|
NavigableSet |
|
Comparator | |
NavigableSet |
|
NavigableSet |
|
Methods inherited from class java.util.AbstractSet<E> | |
equals , hashCode , removeAll |
Methods inherited from class java.util.AbstractCollection<E> | |
T[] toArray , add , addAll , clear , contains , containsAll , isEmpty , iterator , remove , removeAll , retainAll , size , toArray , toString |
Methods inherited from class java.lang.Object | |
clone , equals , extends Object> getClass , finalize , hashCode , notify , notifyAll , toString , wait , wait , wait |
public ConcurrentSkipListSet()
Constructs a new, empty set that orders its elements according to their natural ordering.
public ConcurrentSkipListSet(E> comparator)
Constructs a new, empty set that orders its elements according to the specified comparator.
- Parameters:
comparator
- the comparator that will be used to order this set. If null, the natural ordering of the elements will be used.
public ConcurrentSkipListSet(E> c)
Constructs a new set containing the elements in the specified collection, that orders its elements according to their natural ordering.
- Parameters:
c
- The elements that will comprise the new set
- Throws:
ClassCastException
- if the elements in c are notComparable
, or are not mutually comparableNullPointerException
- if the specified collection or any of its elements are null
public ConcurrentSkipListSet(SortedSets)
Constructs a new set containing the same elements and using the same ordering as the specified sorted set.
- Parameters:
s
- sorted set whose elements will comprise the new set
- Throws:
NullPointerException
- if the specified sorted set or any of its elements are null
public boolean add(E e)
Adds the specified element to this set if it is not already present. More formally, adds the specified element e to this set if the set contains no element e2 such that e.equals(e2). If this set already contains the element, the call leaves the set unchanged and returns false.
- Specified by:
- add in interface Set<E>
- add in interface Collection<E>
- Overrides:
- add in interface AbstractCollection<E>
- Parameters:
e
- element to be added to this set
- Returns:
- true if this set did not already contain the specified element
- Throws:
ClassCastException
- if e cannot be compared with the elements currently in this setNullPointerException
- if the specified element is null
public E ceiling(E e)
- Specified by:
- ceiling in interface NavigableSet<E>
- Throws:
ClassCastException
-NullPointerException
- if the specified element is null
public void clear()
Removes all of the elements from this set.
- Specified by:
- clear in interface Set<E>
- clear in interface Collection<E>
- Overrides:
- clear in interface AbstractCollection<E>
public ConcurrentSkipListSetclone()
Returns a shallow copy of this ConcurrentSkipListSet instance. (The elements themselves are not cloned.)
- Returns:
- a shallow copy of this set
public boolean contains(Object o)
Returns true if this set contains the specified element. More formally, returns true if and only if this set contains an element e such that o.equals(e).
- Specified by:
- contains in interface Set<E>
- contains in interface Collection<E>
- Overrides:
- contains in interface AbstractCollection<E>
- Parameters:
o
- object to be checked for containment in this set
- Returns:
- true if this set contains the specified element
- Throws:
ClassCastException
- if the specified element cannot be compared with the elements currently in this setNullPointerException
- if the specified element is null
public IteratordescendingIterator()
Returns an iterator over the elements in this set in descending order.
- Specified by:
- descendingIterator in interface NavigableSet<E>
- Returns:
- an iterator over the elements in this set in descending order
public NavigableSetdescendingSet()
Returns a reverse order view of the elements contained in this set. The descending set is backed by this set, so changes to the set are reflected in the descending set, and vice-versa. The returned set has an ordering equivalent toCollections.reverseOrder
(comparator()). The expressions.descendingSet().descendingSet()
returns a view ofs
essentially equivalent tos
.
- Specified by:
- descendingSet in interface NavigableSet<E>
- Returns:
- a reverse order view of this set
public boolean equals(Object o)
Compares the specified object with this set for equality. Returns true if the specified object is also a set, the two sets have the same size, and every member of the specified set is contained in this set (or equivalently, every member of this set is contained in the specified set). This definition ensures that the equals method works properly across different implementations of the set interface.
- Specified by:
- equals in interface Set<E>
- equals in interface Collection<E>
- Overrides:
- equals in interface AbstractSet<E>
- Parameters:
o
- the object to be compared for equality with this set
- Returns:
- true if the specified object is equal to this set
public E floor(E e)
- Specified by:
- floor in interface NavigableSet<E>
- Throws:
ClassCastException
-NullPointerException
- if the specified element is null
public NavigableSetheadSet(E toElement)
- Specified by:
- headSet in interface NavigableSet<E>
- headSet in interface SortedSet<E>
- Throws:
ClassCastException
-NullPointerException
- iftoElement
is nullIllegalArgumentException
-
public NavigableSetheadSet(E toElement, boolean inclusive)
- Specified by:
- headSet in interface NavigableSet<E>
- Throws:
ClassCastException
-NullPointerException
- iftoElement
is nullIllegalArgumentException
-
public E higher(E e)
- Specified by:
- higher in interface NavigableSet<E>
- Throws:
ClassCastException
-NullPointerException
- if the specified element is null
public boolean isEmpty()
Returns true if this set contains no elements.
- Specified by:
- isEmpty in interface Set<E>
- isEmpty in interface Collection<E>
- Overrides:
- isEmpty in interface AbstractCollection<E>
- Returns:
- true if this set contains no elements
public Iteratoriterator()
Returns an iterator over the elements in this set in ascending order.
- Specified by:
- iterator in interface NavigableSet<E>
- iterator in interface Set<E>
- iterator in interface Collection<E>
- iterator in interface Iterable<E>
- Overrides:
- iterator in interface AbstractCollection<E>
- Returns:
- an iterator over the elements in this set in ascending order
public E lower(E e)
- Specified by:
- lower in interface NavigableSet<E>
- Throws:
ClassCastException
-NullPointerException
- if the specified element is null
public boolean remove(Object o)
Removes the specified element from this set if it is present. More formally, removes an element e such that o.equals(e), if this set contains such an element. Returns true if this set contained the element (or equivalently, if this set changed as a result of the call). (This set will not contain the element once the call returns.)
- Specified by:
- remove in interface Set<E>
- remove in interface Collection<E>
- Overrides:
- remove in interface AbstractCollection<E>
- Parameters:
o
- object to be removed from this set, if present
- Returns:
- true if this set contained the specified element
- Throws:
ClassCastException
- if o cannot be compared with the elements currently in this setNullPointerException
- if the specified element is null
public boolean removeAll(Collection> c)
Removes from this set all of its elements that are contained in the specified collection. If the specified collection is also a set, this operation effectively modifies this set so that its value is the asymmetric set difference of the two sets.
- Specified by:
- removeAll in interface Set<E>
- removeAll in interface Collection<E>
- Overrides:
- removeAll in interface AbstractSet<E>
- Parameters:
c
- collection containing elements to be removed from this set
- Returns:
- true if this set changed as a result of the call
- Throws:
ClassCastException
- if the types of one or more elements in this set are incompatible with the specified collectionNullPointerException
- if the specified collection or any of its elements are null
public int size()
Returns the number of elements in this set. If this set contains more than Integer.MAX_VALUE elements, it returns Integer.MAX_VALUE. Beware that, unlike in most collections, this method is NOT a constant-time operation. Because of the asynchronous nature of these sets, determining the current number of elements requires traversing them all to count them. Additionally, it is possible for the size to change during execution of this method, in which case the returned result will be inaccurate. Thus, this method is typically not very useful in concurrent applications.
- Specified by:
- size in interface Set<E>
- size in interface Collection<E>
- Overrides:
- size in interface AbstractCollection<E>
- Returns:
- the number of elements in this set
public NavigableSetsubSet(E fromElement, E toElement)
- Specified by:
- subSet in interface NavigableSet<E>
- subSet in interface SortedSet<E>
- Throws:
ClassCastException
-NullPointerException
- iffromElement
ortoElement
is nullIllegalArgumentException
-
public NavigableSetsubSet(E fromElement, boolean fromInclusive, E toElement, boolean toInclusive)
- Specified by:
- subSet in interface NavigableSet<E>
- Throws:
ClassCastException
-NullPointerException
- iffromElement
ortoElement
is nullIllegalArgumentException
-
public Comparator super E> comparator()
- Specified by:
- super E> comparator in interface SortedSet<E>
public NavigableSettailSet(E fromElement)
- Specified by:
- tailSet in interface NavigableSet<E>
- tailSet in interface SortedSet<E>
- Throws:
ClassCastException
-NullPointerException
- iffromElement
is nullIllegalArgumentException
-
public NavigableSettailSet(E fromElement, boolean inclusive)
- Specified by:
- tailSet in interface NavigableSet<E>
- Throws:
ClassCastException
-NullPointerException
- iffromElement
is nullIllegalArgumentException
-
GNU Classpath (0.98) |