Package com.tangosol.util
Class MapSet
- java.lang.Object
-
- java.util.AbstractCollection<E>
-
- java.util.AbstractSet
-
- com.tangosol.util.MapSet
-
- All Implemented Interfaces:
ExternalizableLite
,Externalizable
,Serializable
,Cloneable
,Iterable
,Collection
,Set
- Direct Known Subclasses:
SafeHashSet
,SegmentedHashSet
public class MapSet extends AbstractSet implements Cloneable, Externalizable, ExternalizableLite
An ExternalizableLite implementation of java.util.Set that uses an underlying Map object to store its data in, just as the Java HashSet implementation uses an underlying HashMap for its element storage.- Since:
- Coherence 3.2
- Author:
- cp 09/16/05 Originally SafeHashSet (gg)
- See Also:
- Serialized Form
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
add(Object o)
Ensures that this Set contains the specified element.boolean
addAll(Collection coll)
Adds all of the elements in the specified Collection to this Set if they're not already present.void
clear()
Removes all of the elements from this Set.Object
clone()
Create a clone of this MapSet.boolean
contains(Object o)
Returns true if this Set contains the specified element.boolean
containsAll(Collection coll)
Returns true if this Set contains all of the elements in the specified Collection.Map
getMap()
Obtain the underlying Map for purposes of synchronization or read-only access; the caller must never directly modify the returned Map.protected Map
instantiateMap()
Factory pattern: Provide an underlying Map for this Set implementation to store its contents in.Iterator
iterator()
Returns an iterator over the elements in this Set.void
readExternal(DataInput in)
Restore the contents of this object by loading the object's state from the passed DataInput object.void
readExternal(ObjectInput in)
Initialize this object from the contents of the passed object stream.boolean
remove(Object o)
Removes the specified element from this Set if it is present.boolean
removeAll(Collection coll)
Removes from this Set all of its elements that are contained in the specified Collection.boolean
retainAll(Collection coll)
Retains only the elements in this Set that are contained in the specified Collection.int
size()
Returns the number of elements in this Set.Object[]
toArray()
Returns an array containing all of the elements in this Set.Object[]
toArray(Object[] ao)
Returns an array containing all of the elements in this set whose runtime type is that of the specified array.void
writeExternal(DataOutput out)
Save the contents of this object by storing the object's state into the passed DataOutput object.void
writeExternal(ObjectOutput out)
Write the contents of this object into the passed object stream.-
Methods inherited from class java.util.AbstractSet
equals, hashCode
-
Methods inherited from class java.util.AbstractCollection
isEmpty, toString
-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.util.Collection
parallelStream, removeIf, stream, toArray
-
Methods inherited from interface java.util.Set
isEmpty, spliterator
-
-
-
-
Constructor Detail
-
MapSet
public MapSet()
Default constructor. By default, HashMap is the underlying Map. If that is not the desired behavior, then pass an explicit Map to theMapSet(Map)
constructor. To change the default Map implementation, sub-class the MapSet and override theinstantiateMap()
method.
-
MapSet
public MapSet(Map map)
Construct a MapSet that uses the given Map for its underlying storage.- Parameters:
map
- the underlying Map object
-
-
Method Detail
-
size
public int size()
Returns the number of elements in this Set.- Specified by:
size
in interfaceCollection
- Specified by:
size
in interfaceSet
- Specified by:
size
in classAbstractCollection
- Returns:
- the number of elements in this Set.
-
contains
public boolean contains(Object o)
Returns true if this Set contains the specified element.- Specified by:
contains
in interfaceCollection
- Specified by:
contains
in interfaceSet
- Overrides:
contains
in classAbstractCollection
- Returns:
- true if this Set contains the specified element
-
iterator
public Iterator iterator()
Returns an iterator over the elements in this Set. The elements are returned in no particular order.- Specified by:
iterator
in interfaceCollection
- Specified by:
iterator
in interfaceIterable
- Specified by:
iterator
in interfaceSet
- Specified by:
iterator
in classAbstractCollection
- Returns:
- an iterator over the elements in this Set
-
toArray
public Object[] toArray()
Returns an array containing all of the elements in this Set. Obeys the general contract of theCollection.toArray()
method.- Specified by:
toArray
in interfaceCollection
- Specified by:
toArray
in interfaceSet
- Overrides:
toArray
in classAbstractCollection
- Returns:
- an array containing all of the elements in this Set
-
toArray
public Object[] toArray(Object[] ao)
Returns an array containing all of the elements in this set whose runtime type is that of the specified array. Obeys the general contract of theCollection.toArray(Object[])
method.- Specified by:
toArray
in interfaceCollection
- Specified by:
toArray
in interfaceSet
- Overrides:
toArray
in classAbstractCollection
- Parameters:
ao
- the array into which the elements of this Set are to be stored, if it is big enough; otherwise, a new array of the same runtime type is allocated for this purpose- Returns:
- an array containing the elements of this Set
- Throws:
ArrayStoreException
- the runtime type of a is not a supertype of the runtime type of every element in this Set
-
add
public boolean add(Object o)
Ensures that this Set contains the specified element. Returns true if the Set changed as a result of the call. Returns false if this Set already contains the specified element.- Specified by:
add
in interfaceCollection
- Specified by:
add
in interfaceSet
- Overrides:
add
in classAbstractCollection
- Parameters:
o
- element to be added to this Set- Returns:
- true if this Set did not already contain the specified element
-
remove
public boolean remove(Object o)
Removes the specified element from this Set if it is present. Returns true if the Set contained the specified element (or equivalently, if the Set changed as a result of the call). The Set will not contain the specified element once the call returns.- Specified by:
remove
in interfaceCollection
- Specified by:
remove
in interfaceSet
- Overrides:
remove
in classAbstractCollection
- Parameters:
o
- object to be removed from this Set, if present- Returns:
- true if the Set contained the specified element
-
containsAll
public boolean containsAll(Collection coll)
Returns true if this Set contains all of the elements in the specified Collection.- Specified by:
containsAll
in interfaceCollection
- Specified by:
containsAll
in interfaceSet
- Overrides:
containsAll
in classAbstractCollection
- Parameters:
coll
- Collection to be checked for containment in this Set- Returns:
- true if this Set contains all of the elements in the specified Collection
- See Also:
contains(Object)
-
addAll
public boolean addAll(Collection coll)
Adds all of the elements in the specified Collection to this Set if they're not already present.- Specified by:
addAll
in interfaceCollection
- Specified by:
addAll
in interfaceSet
- Overrides:
addAll
in classAbstractCollection
- Parameters:
coll
- Collection whose elements are to be added to this Set- Returns:
- true if this Set changed as a result of the call
- See Also:
add(Object)
-
retainAll
public boolean retainAll(Collection coll)
Retains only the elements in this Set that are contained in the specified Collection.- Specified by:
retainAll
in interfaceCollection
- Specified by:
retainAll
in interfaceSet
- Overrides:
retainAll
in classAbstractCollection
- Parameters:
coll
- Collection that defines which elements this Set will retain- Returns:
- true if this Set changed as a result of the call
-
removeAll
public boolean removeAll(Collection coll)
Removes from this Set all of its elements that are contained in the specified Collection.- Specified by:
removeAll
in interfaceCollection
- Specified by:
removeAll
in interfaceSet
- Overrides:
removeAll
in classAbstractSet
- Parameters:
coll
- Collection that defines which elements will be removed from this Set- Returns:
- true if this Set changed as a result of the call
- See Also:
remove(Object)
-
clear
public void clear()
Removes all of the elements from this Set.- Specified by:
clear
in interfaceCollection
- Specified by:
clear
in interfaceSet
- Overrides:
clear
in classAbstractCollection
-
getMap
public Map getMap()
Obtain the underlying Map for purposes of synchronization or read-only access; the caller must never directly modify the returned Map.- Returns:
- the underlying Map
-
clone
public Object clone()
Create a clone of this MapSet.
-
readExternal
public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
Initialize this object from the contents of the passed object stream.- Specified by:
readExternal
in interfaceExternalizable
- Parameters:
in
- the stream to read data from in order to restore the object- Throws:
IOException
- if an I/O exception occursClassNotFoundException
-
writeExternal
public void writeExternal(ObjectOutput out) throws IOException
Write the contents of this object into the passed object stream.- Specified by:
writeExternal
in interfaceExternalizable
- Parameters:
out
- the stream to write the object to- Throws:
IOException
- if an I/O exception occurs
-
readExternal
public void readExternal(DataInput in) throws IOException
Restore the contents of this object by loading the object's state from the passed DataInput object.- Specified by:
readExternal
in interfaceExternalizableLite
- Parameters:
in
- the DataInput stream to read data from in order to restore the state of this object- Throws:
IOException
- if an I/O exception occursNotActiveException
- if the object is not in its initial state, and therefore cannot be deserialized into
-
writeExternal
public void writeExternal(DataOutput out) throws IOException
Save the contents of this object by storing the object's state into the passed DataOutput object.- Specified by:
writeExternal
in interfaceExternalizableLite
- Parameters:
out
- the DataOutput stream to write the state of this object to- Throws:
IOException
- if an I/O exception occurs
-
instantiateMap
protected Map instantiateMap()
Factory pattern: Provide an underlying Map for this Set implementation to store its contents in.- Returns:
- a new Map instance
-
-