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