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

Inner Class Summary
protected  class HashSet.ProtectedItr
           
 
Field Summary
protected static int DEFAULT_SIZE
           
protected  int modCount
           
protected  List[] theLists
           
 
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
 

Field Detail

DEFAULT_SIZE

protected static final int DEFAULT_SIZE

theLists

protected List[] theLists

modCount

protected int modCount
Constructor Detail

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.
Method Detail

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