Package com.tangosol.util
Class MapSet
java.lang.Object
java.util.AbstractCollection
java.util.AbstractSet
com.tangosol.util.MapSet
- All Implemented Interfaces:
ExternalizableLite
,Externalizable
,Serializable
,Cloneable
,Iterable
,Collection
,Set
- Direct Known Subclasses:
SafeHashSet
,SegmentedHashSet
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:
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
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.clone()
Create a clone of this MapSet.boolean
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.getMap()
Obtain the underlying Map for purposes of synchronization or read-only access; the caller must never directly modify the returned Map.protected Map
Factory pattern: Provide an underlying Map for this Set implementation to store its contents in.iterator()
Returns an iterator over the elements in this Set.void
Restore the contents of this object by loading the object's state from the passed DataInput object.void
Initialize this object from the contents of the passed object stream.boolean
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[]
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
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
-
Field Details
-
NO_VALUE
A no-value object. -
m_map
The underlying Map.
-
-
Constructor Details
-
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
Construct a MapSet that uses the given Map for its underlying storage.- Parameters:
map
- the underlying Map object
-
-
Method Details
-
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
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
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
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
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
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
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
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:
-
addAll
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:
-
retainAll
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
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:
-
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
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
Create a clone of this MapSet. -
readExternal
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
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
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 occurs
-
writeExternal
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
Factory pattern: Provide an underlying Map for this Set implementation to store its contents in.- Returns:
- a new Map instance
-