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