Interface MultiSet<E>
- Type Parameters:
E- il tipo degli elementi del multiset.
- All Superinterfaces:
Iterable<E>
- All Known Implementing Classes:
AbstractMultiSet, HashMapMultiSet, ListMultiSet
Una breve definizione e discussione sulle proprietà dei multiset si trova ad esempio su Wikipedia.
I metodi che hanno per argomento un elemento sono:
add(E e),remove(Object)econtains(Object), questi sono tipici di collezioni come ad esempioSetper cui è bene che ne imitino la semantica (con particolare riguardo alle eccezioni);multiplicity(Object)che, pur non comune ad altre collezioni, è ragionevole ne segua le convenzioni per uniformità con i precedenti.Dato che assumeremo che un multiset non possa contenere riferimenti
null, l'unico metodo tra i precedenti che solleverà eccezioniadd(E e), tale metodo potrebbe sollevare anche l'eccezioneClassCastException. Gli altri metodi accetteranno senza sollevare eccezioni sia riferimentinullche elementi non presenti nell'insieme.Le implementazioni di questa classe sono iterabili, l'iteratore
Iterable.iterator()deve restituire gli elementi del supporto del multiset (ossia gli elementi del multiset senza ripetizioni).
-
Method Summary
Modifier and TypeMethodDescriptionintAggiunge un elemento al multiset.default booleanrestituiscetruese il multiset contiene l'elemento specificato.intersection(MultiSet<? extends E> o) Restituisce un nuovo multiset corrispondente all'intersezione tra questo e l'argomento.intRestituisce la molteplicità dell'elemento nel multiset.intRimuove l'elemento (se presente) dal multiset.default intsize()Restituisce la cardinalità del multiset.Restituisce un nuovo multiset corrispondente all'unione tra questo e l'argomento.Methods inherited from interface Iterable
forEach, iterator, spliterator
-
Method Details
-
add
Aggiunge un elemento al multiset.- Parameters:
e- l'elemento da aggiungere.- Returns:
- la molteplicità dell'elemento dopo l'inserimento.
- Throws:
NullPointerException- se l'elemento ènull.ClassCastException- se l'elemento è di tipo tale da non poter essere aggiunto.
-
remove
Rimuove l'elemento (se presente) dal multiset.- Parameters:
o- l'elemento da rimuovere.- Returns:
- la molteplicità dell'elemento prima della rimozione.
-
contains
restituiscetruese il multiset contiene l'elemento specificato.Più formalmente, restituisce
truese e solo se il multiset contiene un elementoetale cheObjects.equals(o, e).Questo metodo ammette una implementazione di default basata sul metodo
multiplicity(Object).- Parameters:
o- l'elemento la cui presenza è da verificare.- Returns:
truese l'elemento appartiene al multiset.
-
multiplicity
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
0se l'elemento non appartiene ad esso.
-
size
default int size()Restituisce la cardinalità del multiset.Questo metodo ammette una implementazione di default basata sul metodo
multiplicity(Object)e sul fatto che gli elementi del supporto sono iterabili.- Returns:
- la cardinalità.
-
union
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.
- Throws:
NullPointerException- se l'argomento ènull.
-
intersection
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.
- Throws:
NullPointerException- se l'argomento ènull.
-