Skip navigation links

Oracle® Coherence Java API Reference
Release 3.6.0.0

E15725-01


com.tangosol.util
Class MapSet

java.lang.Object
  extended by java.util.AbstractCollection
      extended by java.util.AbstractSet
          extended by 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)

Field Summary
protected  Map m_map
          The underlying Map.
protected static Object NO_VALUE
          A no-value object.

 

Constructor Summary
MapSet()
          Default constructor.
MapSet(Map map)
          Construct a MapSet that uses the given Map for its underlying storage.

 

Method Summary
 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 interface java.util.Set
isEmpty

 

Field Detail

NO_VALUE

protected static final Object NO_VALUE
A no-value object.

m_map

protected transient Map m_map
The underlying Map.

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 the MapSet(Map) constructor. To change the default Map implementation, sub-class the MapSet and override the instantiateMap() 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 interface Collection
Specified by:
size in interface Set
Specified by:
size in class AbstractCollection
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 interface Collection
Specified by:
contains in interface Set
Overrides:
contains in class AbstractCollection
Parameters:
o - object to be checked for containment in this collection.
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 interface Iterable
Specified by:
iterator in interface Collection
Specified by:
iterator in interface Set
Specified by:
iterator in class AbstractCollection
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 the Collection.toArray() method.
Specified by:
toArray in interface Collection
Specified by:
toArray in interface Set
Overrides:
toArray in class AbstractCollection
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 the Collection.toArray(Object[]) method.
Specified by:
toArray in interface Collection
Specified by:
toArray in interface Set
Overrides:
toArray in class AbstractCollection
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 interface Collection
Specified by:
add in interface Set
Overrides:
add in class AbstractCollection
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 interface Collection
Specified by:
remove in interface Set
Overrides:
remove in class AbstractCollection
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 interface Collection
Specified by:
containsAll in interface Set
Overrides:
containsAll in class AbstractCollection
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 interface Collection
Specified by:
addAll in interface Set
Overrides:
addAll in class AbstractCollection
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 interface Collection
Specified by:
retainAll in interface Set
Overrides:
retainAll in class AbstractCollection
Parameters:
coll - Collection that defines which elements this Set will retain
Returns:
true if this Set changed as a result of the call
See Also:
AbstractCollection.remove(Object), AbstractCollection.contains(Object)

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 interface Collection
Specified by:
removeAll in interface Set
Overrides:
removeAll in class AbstractSet
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 interface Collection
Specified by:
clear in interface Set
Overrides:
clear in class AbstractCollection

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.
Returns:
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 interface Externalizable
Parameters:
in - the stream to read data from in order to restore the object
Throws:
IOException - if an I/O exception occurs
ClassNotFoundException

writeExternal

public void writeExternal(ObjectOutput out)
                   throws IOException
Write the contents of this object into the passed object stream.
Specified by:
writeExternal in interface Externalizable
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 interface ExternalizableLite
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
NotActiveException - 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 interface ExternalizableLite
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

Skip navigation links

Oracle® Coherence Java API Reference
Release 3.6.0.0

E15725-01


Copyright © 2000, 2010, Oracle and/or its affiliates. All rights reserved.