uoc.ei.tads
Class ConjuntAVLImpl<E>

java.lang.Object
  extended by uoc.ei.tads.ConjuntAbstracte<E>
      extended by uoc.ei.tads.ConjuntAVLImpl<E>
All Implemented Interfaces:
java.io.Serializable, Conjunt<E>, Contenidor<E>

public class ConjuntAVLImpl<E>
extends ConjuntAbstracte<E>

Classe que implementa les operacions d'un conjunt per delegació en un arbre binari AVL. Els conjunts són estructures que emmagatzemen elements no repetits. La classe dels objectes ha de disposar d'una operació d'igualtat. En aquesta implementació s'espera que la classe dels elements implementi la interfície java.lang.Comparable o bé que es faciliti un java.util.Comparator com a paràmetre del constructor.

Since:
1.5
See Also:
Serialized Form

Field Summary
protected  ArbreAVL<E> avl
          Arbre binari AVL que implementa les operacions per delegació.
 
Constructor Summary
ConjuntAVLImpl()
          Constructor sense paràmetres.
ConjuntAVLImpl(java.util.Comparator<E> comparador)
          Constructor amb un paràmetre i elements d'una classe comparable amb el comparador donat.
 
Method Summary
 void afegir(E elem)
          Afegeix un element, si es pot.
 Iterador<E> elements()
          Accessor de lectura dels elements que hi ha al contenidor.
 E esborrar(E elem)
          Esborra un element, si es pot.
 boolean estaBuit()
          Mètode per a comprovar si el contenidor està buit.
 boolean hiEs(E elem)
          Comprova si hi ha un element.
 int nombreElems()
          Accessor de lectura del nombre d'elements que hi ha al contenidor.
 java.lang.String toString()
          Mètode que sobreescriu Object.toString().
 
Methods inherited from class uoc.ei.tads.ConjuntAbstracte
diferencia, interseccio, unio
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

avl

protected ArbreAVL<E> avl
Arbre binari AVL que implementa les operacions per delegació.

Constructor Detail

ConjuntAVLImpl

public ConjuntAVLImpl()
Constructor sense paràmetres. S'espera que les classes dels elements implementin la interfície java.lang.Comparable.


ConjuntAVLImpl

public ConjuntAVLImpl(java.util.Comparator<E> comparador)
Constructor amb un paràmetre i elements d'una classe comparable amb el comparador donat.

Parameters:
comparador - comparador que permet deduir la prioritat
Method Detail

nombreElems

public int nombreElems()
Accessor de lectura del nombre d'elements que hi ha al contenidor.

Returns:
nombre d'elements que conté actualment

estaBuit

public boolean estaBuit()
Mètode per a comprovar si el contenidor està buit.

Returns:
cert o fals, segons si està buit o no ho està

afegir

public void afegir(E elem)
Afegeix un element, si es pot.

Parameters:
elem - element que es vol afegir al conjunt

hiEs

public boolean hiEs(E elem)
Comprova si hi ha un element.

Parameters:
elem - element de referència
Returns:
cert o fals, segons si troba o no troba l'element

esborrar

public E esborrar(E elem)
Esborra un element, si es pot.

Parameters:
elem - element de referència
Returns:
element esborrat; o null, si no hi era

elements

public Iterador<E> elements()
Accessor de lectura dels elements que hi ha al contenidor. Retorna una enumeració. Es pot obtenir un llistat amb un parell de línies de codi:
 for ( Iterador it = tad.elements(); it.hiHaSeguent(); )
    System.out.println(it.seguent()); 
Enumerar és simplement enunciar l'una darrere l'altra (les coses d'una sèrie, les parts d'un tot). Però si el contenidor té definit algun tipus d'ordenació o de recorregut, l'enumeració ha de ser conseqüent i oferir els elements per ordre (FIFO, LIFO, inordre, etc.), sense alterar l'estat actual del contenidor.

Returns:
enumeració dels elements associats amb les claus
Throws:
ExcepcioPosicioInvalida - si es vol obtenir el següent element de l'enumeració i no n'hi ha cap o no n'hi ha cap més
See Also:
Iterador.hiHaSeguent(), Iterador.seguent()

toString

public java.lang.String toString()
Mètode que sobreescriu Object.toString(). Treu els elements separats pel salt de línia de la plataforma.

Overrides:
toString in class java.lang.Object
Returns:
llistat dels elements en un recorregut inordre