uoc.ei.tads
Class ConjuntTaulaImpl<E>

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

public class ConjuntTaulaImpl<E>
extends ConjuntAbstracte<E>

Classe que implementa les operacions bàsiques d'un conjunt per delegació en una taula de dispersió. Els conjunts són estructures que emmagatzemen elements no repetits. La classe dels objectes ha de disposar d'una operació d'igualtat.

Since:
1.5
See Also:
Serialized Form

Field Summary
protected  TaulaDispersio<E,E> td
          Taula de dispersió que implementa les operacions per delegació.
 
Constructor Summary
ConjuntTaulaImpl()
          Constructor sense paràmetres (mida de la taula per defecte).
ConjuntTaulaImpl(int mida)
          Constructor amb un paràmetre (taula de la mida donada).
 
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 clau)
          Esborra la clau i l'element associat, 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 amb una determinada clau.
 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

td

protected TaulaDispersio<E,E> td
Taula de dispersió que implementa les operacions per delegació.

Constructor Detail

ConjuntTaulaImpl

public ConjuntTaulaImpl()
Constructor sense paràmetres (mida de la taula per defecte).


ConjuntTaulaImpl

public ConjuntTaulaImpl(int mida)
Constructor amb un paràmetre (taula de la mida donada).

Parameters:
mida - mida de la taula de dispersió
Throws:
ExcepcioParametreIncorrecte - si la mida és negativa
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. Utilitza el mateix element com a clau i com a valor. S'implementa per compatibilitat amb la interfície. Es recomana utilitzar afegir(clau, valor).

Parameters:
elem - element que es vol afegir al conjunt

hiEs

public boolean hiEs(E elem)
Comprova si hi ha un element amb una determinada clau.

Parameters:
elem - clau associada a un element
Returns:
cert o fals, segons si troba o no troba la clau
Throws:
ExcepcioContenidorBuit - si la taula està buida
ExcepcioElementsNoComparables - si l'element és no comparable

esborrar

public E esborrar(E clau)
Esborra la clau i l'element associat, si es pot.

Parameters:
clau - clau de referència
Returns:
element esborrat associat amb la clau; o null, si no hi era
Throws:
ExcepcioContenidorBuit - si la taula està buida
ExcepcioElementsNoComparables - si l'element és no comparable
See Also:
ClauValor

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 parelles d'elements. Separa una parella de la següent amb el salt de línia de la plataforma.

Overrides:
toString in class java.lang.Object
Returns:
llistat de claus (entre claudàtors) seguides de l'element associat a cada clau