org.jboss.cache.util.concurrent
Class ConcurrentHashSet<E>
java.lang.Object
java.util.AbstractCollection<E>
java.util.AbstractSet<E>
org.jboss.cache.util.concurrent.ConcurrentHashSet<E>
- All Implemented Interfaces:
- java.lang.Iterable<E>, java.util.Collection<E>, java.util.Set<E>
public class ConcurrentHashSet<E>
- extends java.util.AbstractSet<E>
A simple Set implementation backed by a ConcurrentHashMap
to deal with the fact that the
JDK does not have a proper concurrent Set implementation that uses efficient lock striping.
Note that values are stored as keys in the underlying Map, with a static dummy object as value.
- Since:
- 2.0.0
- Author:
- Manik Surtani
Field Summary |
protected java.util.concurrent.ConcurrentHashMap<E,java.lang.Object> |
map
|
Methods inherited from class java.util.AbstractSet |
equals, hashCode |
Methods inherited from class java.util.AbstractCollection |
toString |
Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
map
protected java.util.concurrent.ConcurrentHashMap<E,java.lang.Object> map
ConcurrentHashSet
public ConcurrentHashSet()
size
public int size()
- Specified by:
size
in interface java.util.Collection<E>
- Specified by:
size
in interface java.util.Set<E>
- Specified by:
size
in class java.util.AbstractCollection<E>
isEmpty
public boolean isEmpty()
- Specified by:
isEmpty
in interface java.util.Collection<E>
- Specified by:
isEmpty
in interface java.util.Set<E>
- Overrides:
isEmpty
in class java.util.AbstractCollection<E>
contains
public boolean contains(java.lang.Object o)
- Specified by:
contains
in interface java.util.Collection<E>
- Specified by:
contains
in interface java.util.Set<E>
- Overrides:
contains
in class java.util.AbstractCollection<E>
iterator
public java.util.Iterator<E> iterator()
- Specified by:
iterator
in interface java.lang.Iterable<E>
- Specified by:
iterator
in interface java.util.Collection<E>
- Specified by:
iterator
in interface java.util.Set<E>
- Specified by:
iterator
in class java.util.AbstractCollection<E>
toArray
public java.lang.Object[] toArray()
- Specified by:
toArray
in interface java.util.Collection<E>
- Specified by:
toArray
in interface java.util.Set<E>
- Overrides:
toArray
in class java.util.AbstractCollection<E>
toArray
public <T> T[] toArray(T[] a)
- Specified by:
toArray
in interface java.util.Collection<E>
- Specified by:
toArray
in interface java.util.Set<E>
- Overrides:
toArray
in class java.util.AbstractCollection<E>
add
public boolean add(E o)
- Specified by:
add
in interface java.util.Collection<E>
- Specified by:
add
in interface java.util.Set<E>
- Overrides:
add
in class java.util.AbstractCollection<E>
remove
public boolean remove(java.lang.Object o)
- Specified by:
remove
in interface java.util.Collection<E>
- Specified by:
remove
in interface java.util.Set<E>
- Overrides:
remove
in class java.util.AbstractCollection<E>
containsAll
public boolean containsAll(java.util.Collection<?> c)
- Specified by:
containsAll
in interface java.util.Collection<E>
- Specified by:
containsAll
in interface java.util.Set<E>
- Overrides:
containsAll
in class java.util.AbstractCollection<E>
addAll
public boolean addAll(java.util.Collection<? extends E> c)
- Specified by:
addAll
in interface java.util.Collection<E>
- Specified by:
addAll
in interface java.util.Set<E>
- Overrides:
addAll
in class java.util.AbstractCollection<E>
retainAll
public boolean retainAll(java.util.Collection<?> c)
- Specified by:
retainAll
in interface java.util.Collection<E>
- Specified by:
retainAll
in interface java.util.Set<E>
- Overrides:
retainAll
in class java.util.AbstractCollection<E>
removeAll
public boolean removeAll(java.util.Collection<?> c)
- Specified by:
removeAll
in interface java.util.Collection<E>
- Specified by:
removeAll
in interface java.util.Set<E>
- Overrides:
removeAll
in class java.util.AbstractSet<E>
clear
public void clear()
- Specified by:
clear
in interface java.util.Collection<E>
- Specified by:
clear
in interface java.util.Set<E>
- Overrides:
clear
in class java.util.AbstractCollection<E>