Class MultiSet<X>

  • All Implemented Interfaces:
    java.lang.Iterable<X>

    public class MultiSet<X>
    extends java.lang.Object
    implements java.lang.Iterable<X>
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected gnu.trove.map.hash.TObjectLongHashMap<X> cardinalities  
      protected long size  
    • Constructor Summary

      Constructors 
      Constructor Description
      MultiSet()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean add​(X element)  
      boolean add​(X element, long cardinality)  
      boolean addAll​(java.util.Collection<X> collection)
      Add each element of the collection, each with cardinality 1.
      boolean addAll​(java.util.Collection<X> collection, long cardinality)
      Add each element of the collection, each with cardinality as given.
      boolean addAll​(MultiSet<X> collection)  
      MultiSet<X> clone()  
      boolean contains​(java.lang.Object a)  
      MultiSet<X> copy()  
      void empty()  
      boolean equals​(java.lang.Object a)  
      long getCardinalityOf​(java.lang.Object e)  
      X getElementWithHighestCardinality()
      Get an element with the highest cardinality of all elements.
      boolean isEmpty()  
      java.util.Iterator<X> iterator()
      Iterator over the elements of the multiset as if it were a set.
      boolean remove​(X element)  
      boolean remove​(X element, long cardinality)  
      int setSize()  
      long size()  
      java.util.List<X> sortByCardinality()
      Returns a list of the elements, sorted by their cardinality.
      java.util.Set<X> toSet()  
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface java.lang.Iterable

        forEach, spliterator
    • Field Detail

      • cardinalities

        protected gnu.trove.map.hash.TObjectLongHashMap<X> cardinalities
      • size

        protected long size
    • Constructor Detail

      • MultiSet

        public MultiSet()
    • Method Detail

      • add

        public boolean add​(X element)
      • equals

        public boolean equals​(java.lang.Object a)
        Overrides:
        equals in class java.lang.Object
      • add

        public boolean add​(X element,
                           long cardinality)
      • remove

        public boolean remove​(X element,
                              long cardinality)
      • remove

        public boolean remove​(X element)
      • addAll

        public boolean addAll​(java.util.Collection<X> collection)
        Add each element of the collection, each with cardinality 1.
        Parameters:
        collection -
        Returns:
      • addAll

        public boolean addAll​(java.util.Collection<X> collection,
                              long cardinality)
        Add each element of the collection, each with cardinality as given.
        Parameters:
        collection -
        cardinality -
        Returns:
      • addAll

        public boolean addAll​(MultiSet<X> collection)
      • empty

        public void empty()
      • size

        public long size()
      • isEmpty

        public boolean isEmpty()
      • setSize

        public int setSize()
      • toSet

        public java.util.Set<X> toSet()
      • contains

        public boolean contains​(java.lang.Object a)
      • getCardinalityOf

        public long getCardinalityOf​(java.lang.Object e)
      • iterator

        public java.util.Iterator<X> iterator()
        Iterator over the elements of the multiset as if it were a set. Get cardinalities using getCardinality().
        Specified by:
        iterator in interface java.lang.Iterable<X>
      • sortByCardinality

        public java.util.List<X> sortByCardinality()
        Returns a list of the elements, sorted by their cardinality.
        Returns:
      • getElementWithHighestCardinality

        public X getElementWithHighestCardinality()
        Get an element with the highest cardinality of all elements.
        Returns:
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • clone

        public MultiSet<X> clone()
        Overrides:
        clone in class java.lang.Object