Class MapSet

    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected Map m_map
      The underlying Map.
      protected static Object NO_VALUE
      A no-value object.
    • Constructor Summary

      Constructors 
      Constructor Description
      MapSet()
      Default constructor.
      MapSet​(Map map)
      Construct a MapSet that uses the given Map for its underlying storage.
    • 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
        Returns:
        true if this Set contains the specified element
      • 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
      • 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)
      • 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.
        Overrides:
        clone in class Object
        Returns:
        a clone of this MapSet
      • 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