lab2
Class TreeSet
java.lang.Object
|
+--lab2.TreeSet
- All Implemented Interfaces:
- Set
- public class TreeSet
- extends java.lang.Object
- implements Set
Classe TreeSet:
Gestione di insiemi ordinati mediante alberi binari di
ricerca non bilanciati. La differenza con la
classe HashSet è quindi nella possibilità di
mantenere un ordine totale, come realizzato nelle classi di Java
Collections API disponibili in
java.util.* (JDK 1.2) [TreeSet]. Gli oggetti
dell'insieme devono fornire il metodo compareTo
dell'interfaccia standard Comparable per mantenere le
chiavi ordinate. L'eccezione IllegalArgumentException viene
generata se gli oggetti non sono tutti
Comparable. È possibile, infine, creare un
iteratore Iterator che scandisce gli oggetti in
maniera crescente secondo l'ordine specificato. Il metodo
remove con argomento si riferisce
all'interfaccia Set; 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:
Set,
BinNode
|
Constructor Summary |
TreeSet()
Costruttore dell'albero |
| Methods inherited from class java.lang.Object |
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
root
protected BinNode root
modCount
protected int modCount
TreeSet
public TreeSet()
- Costruttore dell'albero
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
contains
public boolean contains(java.lang.Object x)
- Verifica se l'insieme contiene l'oggetto specificato.
- 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 oppure non è
Comparable.
containsHelper
protected BinNode containsHelper(java.lang.Comparable cx)
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 x non appartiene
all'insieme; false altrimenti.- Throws:
java.lang.IllegalArgumentException - se l'argomento passato
è null oppure non è
Comparable.
addHelper
protected boolean addHelper(java.lang.Comparable cx,
BinNode t)
remove
public boolean remove(java.lang.Object x)
- Elimina l'oggetto dall'insieme, che rimane inalterato se non
contiene l'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 oppure non è
Comparable.
removeHelper
protected void removeHelper(BinNode z)
successor
protected BinNode successor(BinNode t)
predecessor
protected BinNode predecessor(BinNode t)
min
public BinNode min()
- Restituisce la chiave più piccola dell'albero.
- Returns:
null se l'albero è vuoto.
min
protected BinNode min(BinNode t)
max
public BinNode max()
- Restituisce la chiave più grande dell'albero.
- Returns:
null se l'albero è vuoto.
max
protected BinNode max(BinNode t)
iterator
public Iterator iterator()
- Restituisce un iteratore per scandire gli oggetti dell'insieme
in ordine crescente secondo l'ordine indotto da
compareTo. Se l'insieme viene modificato con metodi
diversi da quelli definiti dall'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