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

Inner Class Summary
protected  class TreeSet.ProtectedItr
           
 
Field Summary
protected  int modCount
           
protected  BinNode root
           
 
Constructor Summary
TreeSet()
          Costruttore dell'albero
 
Method Summary
 boolean add(java.lang.Object x)
          Aggiunge un oggetto all'insieme.
protected  boolean addHelper(java.lang.Comparable cx, BinNode t)
           
 void clear()
          Rende l'insieme vuoto.
 boolean contains(java.lang.Object x)
          Verifica se l'insieme contiene l'oggetto specificato.
protected  BinNode containsHelper(java.lang.Comparable cx)
           
 boolean isEmpty()
          Verifica che l'insieme sia logicamente vuoto.
 Iterator iterator()
          Restituisce un iteratore per scandire gli oggetti dell'insieme in ordine crescente secondo l'ordine indotto da compareTo.
 BinNode max()
          Restituisce la chiave più grande dell'albero.
protected  BinNode max(BinNode t)
           
 BinNode min()
          Restituisce la chiave più piccola dell'albero.
protected  BinNode min(BinNode t)
           
protected  BinNode predecessor(BinNode t)
           
 boolean remove(java.lang.Object x)
          Elimina l'oggetto dall'insieme, che rimane inalterato se non contiene l'oggetto.
protected  void removeHelper(BinNode z)
           
protected  BinNode successor(BinNode t)
           
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

root

protected BinNode root

modCount

protected int modCount
Constructor Detail

TreeSet

public TreeSet()
Costruttore dell'albero
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

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