uoc.ei.tads
Class CuaVectorImpl<E>

java.lang.Object
  extended by uoc.ei.tads.CuaVectorImpl<E>
All Implemented Interfaces:
java.io.Serializable, Contenidor<E>, ContenidorAfitat<E>, Cua<E>

public class CuaVectorImpl<E>
extends java.lang.Object
implements Cua<E>, ContenidorAfitat<E>

Seqüència que es caracteritza perquè es consulta i s'esborra el primer element inserit: first-in-first-out (FIFO).

Since:
1.5
See Also:
Serialized Form

Field Summary
protected  E[] elements
          Taula d'elements del contenidor.
static int MAXIM_ELEMENTS_PER_DEFECTE
          Capacitat màxima, per defecte, del contenidor.
protected  int n
          Nombre d'elements que hi ha actualment al contenidor.
 
Constructor Summary
CuaVectorImpl()
          Constructor sense paràmetres (capacitat màxima, per defecte).
CuaVectorImpl(int max)
          Constructor amb un paràmetre.
 
Method Summary
 E desencuar()
          Esborra el primer element de la cua, si n'hi ha algun.
 Iterador<E> elements()
          Accessor de lectura dels elements que hi ha al contenidor.
 void encuar(E elem)
          Afegeix un element a la cua, si hi cap.
 boolean estaBuit()
          Mètode per a comprovar si el contenidor està buit.
 boolean estaPle()
          Mètode per a comprovar si el contenidor està ple.
 int nombreElems()
          Accessor de lectura del nombre d'elements que hi ha al contenidor.
 E primer()
          Accessor de lectura del primer element afegit a la cua, si n'hi ha.
 java.lang.String toString()
          Mètode que sobreescriu Object.toString().
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

MAXIM_ELEMENTS_PER_DEFECTE

public static final int MAXIM_ELEMENTS_PER_DEFECTE
Capacitat màxima, per defecte, del contenidor.

See Also:
Constant Field Values

elements

protected E[] elements
Taula d'elements del contenidor.


n

protected int n
Nombre d'elements que hi ha actualment al contenidor.

Constructor Detail

CuaVectorImpl

public CuaVectorImpl()
Constructor sense paràmetres (capacitat màxima, per defecte).


CuaVectorImpl

public CuaVectorImpl(int max)
Constructor amb un paràmetre.

Parameters:
max - nombre màxim d'elements de la cua
Throws:
ExcepcioParametreIncorrecte - si la capacitat màxima de la nova cua és negativa
Method Detail

nombreElems

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

Specified by:
nombreElems in interface Contenidor<E>
Returns:
nombre d'elements que conté actualment

estaBuit

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

Specified by:
estaBuit in interface Contenidor<E>
Returns:
cert o fals, segons si està buit o no ho està

estaPle

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

Specified by:
estaPle in interface ContenidorAfitat<E>
Returns:
cert o fals, segons si està ple o no ho està

encuar

public void encuar(E elem)
Afegeix un element a la cua, si hi cap.

Specified by:
encuar in interface Cua<E>
Parameters:
elem - element que es vol afegir a la cua
Throws:
ExcepcioContenidorPle - si la cua està plena

desencuar

public E desencuar()
Esborra el primer element de la cua, si n'hi ha algun.

Specified by:
desencuar in interface Cua<E>
Returns:
primer element inserit a la cua
Throws:
ExcepcioContenidorBuit - si la cua està buida

primer

public E primer()
Accessor de lectura del primer element afegit a la cua, si n'hi ha.

Specified by:
primer in interface Cua<E>
Returns:
primer element de la cua
Throws:
ExcepcioContenidorBuit - si la cua està buida

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.

Specified by:
elements in interface Contenidor<E>
Returns:
enumeració dels elements del contenidor
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