lab2
Class HashSet
java.lang.Object
|
+--lab2.HashSet
- All Implemented Interfaces:
- Set
- public class HashSet
- extends java.lang.Object
- implements Set
Classe HashSet:
Semplice gestione di un insieme non ordinato mediante tabelle hash
con liste concatenate. Possibilità di avere un semplice
iteratore (cursore), con riferimento alle classi di Java
Collections API disponibili in
java.util.* (JDK 1.2) [HashSet]. Gli oggetti vengono
inseriti in posizioni della tabella che dipendono dalla funzione
hash adottata. Il metodo remove con argomento
si riferisce all'interfaccia List; il metodo
remove senza argomento si riferisce
all'interfaccia Iterator. Quest'ultimo metodo evita
modifiche concorrenti che possano interferire con altre istanze di
iteratori mediante contatori di modifiche.
- See Also:
List,
ListNode,
LinkedList,
Set
|
Constructor Summary |
HashSet()
Costruttore di tabella hash di dimensione prefissata
(DEFAULT_SIZE). |
HashSet(int tableSize)
Costruttore di tabella hash di dimensione a scelta. |
|
Method Summary |
boolean |
add(java.lang.Object x)
Aggiunge un oggetto all'insieme. |
void |
clear()
Rende l'insieme vuoto. |
boolean |
contains(java.lang.Object x)
Verifica se l'insieme contiene l'oggetto specificato, usando il
metodo standard equals (l'oggetto può occorrere
al più una volta). |
boolean |
isEmpty()
Verifica che l'insieme sia logicamente vuoto. |
Iterator |
iterator()
Restituisce un iteratore per scandire gli oggetti dell'insieme
secondo la posizione assegnata a loro dalla funzione hash. |
protected List |
listOf(java.lang.Object x)
|
protected static int |
nextPrime(int n)
|
protected static boolean[] |
primes(int n)
|
boolean |
remove(java.lang.Object x)
Elimina un oggetto dall'insieme, che rimane inalterato se non
contiene l'oggetto. |
| Methods inherited from class java.lang.Object |
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
DEFAULT_SIZE
protected static final int DEFAULT_SIZE
theLists
protected List[] theLists
modCount
protected int modCount
HashSet
public HashSet()
- Costruttore di tabella hash di dimensione prefissata
(DEFAULT_SIZE).
HashSet
public HashSet(int tableSize)
- Costruttore di tabella hash di dimensione a scelta. L'intero
passato viene trasformato nel successivo numero primo, che
diventa la dimensione della tabella. In alternativa, si
può passare direttamente un numero primo.
isEmpty
public boolean isEmpty()
- Verifica che l'insieme sia logicamente vuoto.
- Specified by:
isEmpty in interface Set
- Returns:
true se l'insieme è vuoto;
false altrimenti.
clear
public void clear()
- Rende l'insieme vuoto.
- Specified by:
clear in interface Set
listOf
protected List listOf(java.lang.Object x)
contains
public boolean contains(java.lang.Object x)
- Verifica se l'insieme contiene l'oggetto specificato, usando il
metodo standard equals (l'oggetto può occorrere
al più una volta).
- Specified by:
contains in interface Set
- Parameters:
x - l'oggetto da cercare nell'insieme.- Returns:
true se l'insieme contiene l'oggetto;
false altrimenti.- Throws:
java.lang.IllegalArgumentException - se l'argomento passato
è null.
add
public boolean add(java.lang.Object x)
- Aggiunge un oggetto all'insieme. Non sono ammessi oggetti null
e/o duplicati.
- Specified by:
add in interface Set
- Parameters:
x - l'oggetto da inserire, diverso da null.- Returns:
true se l'oggetto non apparteneva
già all'insieme; false altrimenti.- Throws:
java.lang.IllegalArgumentException - se l'argomento passato
è null.
remove
public boolean remove(java.lang.Object x)
- Elimina un oggetto dall'insieme, che rimane inalterato se non
contiene l'oggetto. Il metodo standard equals viene
impiegato per trovare tale oggetto.
- Specified by:
remove in interface Set
- Parameters:
x - l'oggetto da eliminare, se presente e diverso
da null.- Returns:
true se l'oggetto appartiene all'insieme;
false altrimenti.- Throws:
java.lang.IllegalArgumentException - se l'argomento passato
è null.
nextPrime
protected static int nextPrime(int n)
primes
protected static boolean[] primes(int n)
iterator
public Iterator iterator()
- Restituisce un iteratore per scandire gli oggetti dell'insieme
secondo la posizione assegnata a loro dalla funzione hash. Se
l'insieme viene modificato con metodi diversi da quelli
dell'iteratore, viene generata una eccezione
ConcurrentModificationException. In questo modo,
l'iterazione termina per evitare comportamenti difficili da
prevedere.
- Specified by:
iterator in interface Set
- Returns:
- una classe che realizza
Iterator per
scandire gli oggetti dell'insieme. - Throws:
ConcurrentModificationException - se
avviene una modifica concorrente mediante altri metodi.- See Also:
Iterator