org.infinispan.util.concurrent
Class ConcurrentHashSet<E>

java.lang.Object
  extended by java.util.AbstractCollection<E>
      extended by java.util.AbstractSet<E>
          extended by org.infinispan.util.concurrent.ConcurrentHashSet<E>
All Implemented Interfaces:
Serializable, Iterable<E>, Collection<E>, Set<E>

public class ConcurrentHashSet<E>
extends AbstractSet<E>
implements Serializable

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:
4.0
Author:
Manik Surtani
See Also:
Serialized Form

Field Summary
protected  ConcurrentHashMap<E,Object> map
           
 
Constructor Summary
ConcurrentHashSet()
           
ConcurrentHashSet(int concurrencyLevel)
           
ConcurrentHashSet(int initSize, float loadFactor, int concurrencyLevel)
          Params passed in to the underlying CHM.
 
Method Summary
 boolean add(E o)
           
 boolean addAll(Collection<? extends E> c)
           
 void clear()
           
 boolean contains(Object o)
           
 boolean containsAll(Collection<?> c)
           
 boolean isEmpty()
           
 Iterator<E> iterator()
           
 boolean remove(Object o)
           
 boolean removeAll(Collection<?> c)
           
 boolean retainAll(Collection<?> c)
           
 int size()
           
 Object[] toArray()
           
<T> T[]
toArray(T[] a)
           
 
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
 

Field Detail

map

protected final ConcurrentHashMap<E,Object> map
Constructor Detail

ConcurrentHashSet

public ConcurrentHashSet()

ConcurrentHashSet

public ConcurrentHashSet(int concurrencyLevel)
Parameters:
concurrencyLevel - passed in to the underlying CHM. See ConcurrentHashMap.ConcurrentHashMap(int, float, int) javadocs for details.

ConcurrentHashSet

public ConcurrentHashSet(int initSize,
                         float loadFactor,
                         int concurrencyLevel)
Params passed in to the underlying CHM. See ConcurrentHashMap.ConcurrentHashMap(int, float, int) javadocs for details.

Method Detail

size

public int size()
Specified by:
size in interface Collection<E>
Specified by:
size in interface Set<E>
Specified by:
size in class AbstractCollection<E>

isEmpty

public boolean isEmpty()
Specified by:
isEmpty in interface Collection<E>
Specified by:
isEmpty in interface Set<E>
Overrides:
isEmpty in class AbstractCollection<E>

contains

public boolean contains(Object o)
Specified by:
contains in interface Collection<E>
Specified by:
contains in interface Set<E>
Overrides:
contains in class AbstractCollection<E>

iterator

public Iterator<E> iterator()
Specified by:
iterator in interface Iterable<E>
Specified by:
iterator in interface Collection<E>
Specified by:
iterator in interface Set<E>
Specified by:
iterator in class AbstractCollection<E>

toArray

public Object[] toArray()
Specified by:
toArray in interface Collection<E>
Specified by:
toArray in interface Set<E>
Overrides:
toArray in class AbstractCollection<E>

toArray

public <T> T[] toArray(T[] a)
Specified by:
toArray in interface Collection<E>
Specified by:
toArray in interface Set<E>
Overrides:
toArray in class AbstractCollection<E>

add

public boolean add(E o)
Specified by:
add in interface Collection<E>
Specified by:
add in interface Set<E>
Overrides:
add in class AbstractCollection<E>

remove

public boolean remove(Object o)
Specified by:
remove in interface Collection<E>
Specified by:
remove in interface Set<E>
Overrides:
remove in class AbstractCollection<E>

containsAll

public boolean containsAll(Collection<?> c)
Specified by:
containsAll in interface Collection<E>
Specified by:
containsAll in interface Set<E>
Overrides:
containsAll in class AbstractCollection<E>

addAll

public boolean addAll(Collection<? extends E> c)
Specified by:
addAll in interface Collection<E>
Specified by:
addAll in interface Set<E>
Overrides:
addAll in class AbstractCollection<E>

retainAll

public boolean retainAll(Collection<?> c)
Specified by:
retainAll in interface Collection<E>
Specified by:
retainAll in interface Set<E>
Overrides:
retainAll in class AbstractCollection<E>

removeAll

public boolean removeAll(Collection<?> c)
Specified by:
removeAll in interface Collection<E>
Specified by:
removeAll in interface Set<E>
Overrides:
removeAll in class AbstractSet<E>

clear

public void clear()
Specified by:
clear in interface Collection<E>
Specified by:
clear in interface Set<E>
Overrides:
clear in class AbstractCollection<E>

Google Analytics

Copyright © 2010 JBoss, a division of Red Hat. All Rights Reserved.