Class ListMultiSet<E>

java.lang.Object
it.unimi.di.prog2.temisvolti.multiset.AbstractMultiSet<E>
it.unimi.di.prog2.temisvolti.multiset.ListMultiSet<E>
Type Parameters:
E - il tipo degli elementi del multiset.
All Implemented Interfaces:
MultiSet<E>, Iterable<E>

public class ListMultiSet<E> extends AbstractMultiSet<E>
Implementazione di MultiSet basata su una lista con ripetizioni.
  • Field Details

    • elems

      private final List<E> elems
      La lista degli elementi del multiset.
  • Constructor Details

    • ListMultiSet

      public ListMultiSet()
      Costruttore che crea un multiset vuoto.
  • Method Details

    • add

      public int add(E e)
      Description copied from interface: MultiSet
      Aggiunge un elemento al multiset.
      Parameters:
      e - l'elemento da aggiungere.
      Returns:
      la molteplicità dell'elemento dopo l'inserimento.
    • remove

      public int remove(Object o)
      Description copied from interface: MultiSet
      Rimuove l'elemento (se presente) dal multiset.
      Parameters:
      o - l'elemento da rimuovere.
      Returns:
      la molteplicità dell'elemento prima della rimozione.
    • multiplicity

      public int multiplicity(Object o)
      Description copied from interface: MultiSet
      Restituisce la molteplicità dell'elemento nel multiset.

      Se l'elemento non appartiene al multiset, restituisce convenzionalmente 0 (senza sollevare eccezioni).

      Parameters:
      o - l'elemento di cui restituire la molteplicità.
      Returns:
      la molteplicità dell'elemento nell'insieme, o 0 se l'elemento non appartiene ad esso.
    • contains

      public boolean contains(Object o)
      Description copied from interface: MultiSet
      restituisce true se il multiset contiene l'elemento specificato.

      Più formalmente, restituisce true se e solo se il multiset contiene un elemento e tale che Objects.equals(o, e).

      Questo metodo ammette una implementazione di default basata sul metodo MultiSet.multiplicity(Object).

      Parameters:
      o - l'elemento la cui presenza è da verificare.
      Returns:
      true se l'elemento appartiene al multiset.
    • size

      public int size()
      Description copied from interface: MultiSet
      Restituisce la cardinalità del multiset.

      Questo metodo ammette una implementazione di default basata sul metodo MultiSet.multiplicity(Object) e sul fatto che gli elementi del supporto sono iterabili.

      Returns:
      la cardinalità.
    • union

      public MultiSet<E> union(MultiSet<? extends E> o)
      Description copied from interface: MultiSet
      Restituisce un nuovo multiset corrispondente all'unione tra questo e l'argomento.

      Questo metodo non modifica questo multiset, o il suo argomento.

      Parameters:
      o - l'altro multiset con cui costruire l'unione.
      Returns:
      l'unione tra i due multiset.
    • intersection

      public MultiSet<E> intersection(MultiSet<? extends E> o)
      Description copied from interface: MultiSet
      Restituisce un nuovo multiset corrispondente all'intersezione tra questo e l'argomento.

      Questo metodo non modifica questo multiset, o il suo argomento.

      Parameters:
      o - l'altro multiset con cui costruire l'intersezione.
      Returns:
      l'intersezione tra i due multiset.
    • iterator

      public Iterator<E> iterator()