Class HashMultiSet<E>

  • Type Parameters:
    E - the type held in the multiset
    All Implemented Interfaces:
    java.io.Serializable, java.lang.Iterable<E>, java.util.Collection<E>, MultiSet<E>

    public class HashMultiSet<E>
    extends AbstractMapMultiSet<E>
    implements java.io.Serializable
    Implements MultiSet, using a HashMap to provide the data storage. This is the standard implementation of a multiset.

    A MultiSet stores each object in the collection together with a count of occurrences. Extra methods on the interface allow multiple copies of an object to be added or removed at once.

    Since:
    4.1
    See Also:
    Serialized Form
    • Field Detail

      • serialVersionUID

        private static final long serialVersionUID
        Serial version lock
        See Also:
        Constant Field Values
    • Constructor Detail

      • HashMultiSet

        public HashMultiSet()
        Constructs an empty HashMultiSet.
      • HashMultiSet

        public HashMultiSet​(java.util.Collection<? extends E> coll)
        Constructs a multiset containing all the members of the given collection.
        Parameters:
        coll - a collection to copy into this multiset
    • Method Detail

      • writeObject

        private void writeObject​(java.io.ObjectOutputStream out)
                          throws java.io.IOException
        Write the multiset out using a custom routine.
        Parameters:
        out - the output stream
        Throws:
        java.io.IOException - if an error occurs while writing to the stream
      • readObject

        private void readObject​(java.io.ObjectInputStream in)
                         throws java.io.IOException,
                                java.lang.ClassNotFoundException
        Read the multiset in using a custom routine.
        Parameters:
        in - the input stream
        Throws:
        java.io.IOException - if an error occurs while reading from the stream
        java.lang.ClassNotFoundException - if an object read from the stream can not be loaded