uoc.ei.tads
Class PilaVectorImpl<E>

java.lang.Object
  extended by uoc.ei.tads.PilaVectorImpl<E>
All Implemented Interfaces:
java.io.Serializable, Contenedor<E>, ContenedorAcotado<E>, Pila<E>

public class PilaVectorImpl<E>
extends java.lang.Object
implements Pila<E>, ContenedorAcotado<E>

Secuencia que se caracteriza porque se consulta y se borra el último elemento insertado: last-in-first-out (LIFO).

See Also:
Serialized Form

Field Summary
protected  E[] elementos
          Tabla de elementos del contenedor.
static int MAXIMO_ELEMENTOS_POR_DEFECTO
          Capacidad máxima, por defecto, del contenedor.
protected  int n
          Número de elementos que hay actualmente al contenedor.
 
Constructor Summary
PilaVectorImpl()
          Constructor sin parámetros (capacidad máxima, por defecto).
PilaVectorImpl(int max)
          Constructor con un parámetro.
 
Method Summary
 void apilar(E elem)
          Añade un elemento a la pila, si ningún.
 E cima()
          Accesor de lectura del último elemento añadido en la pila, si hay.
 E desapilar()
          Borra el elemento de la cima de la pila, si hay alguno.
 Iterador<E> elementos()
          Accesor de lectura de los elementos que hay en el contenedor.
 boolean estaLleno()
          Método para comprobar si el contenedor está lleno.
 boolean estaVacio()
          Método para comprobar si el contenedor está vacío.
 int numElems()
          Accesor de lectura del número de elementos que hay en el contenedor.
 java.lang.String toString()
          Método que sobrescribe Object.toString().
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

MAXIMO_ELEMENTOS_POR_DEFECTO

public static final int MAXIMO_ELEMENTOS_POR_DEFECTO
Capacidad máxima, por defecto, del contenedor.

See Also:
Constant Field Values

n

protected int n
Número de elementos que hay actualmente al contenedor. También representa la posición donde se debe empilar un nuevo elemento.


elementos

protected E[] elementos
Tabla de elementos del contenedor. Las posiciones empiezan por el cero.

Constructor Detail

PilaVectorImpl

public PilaVectorImpl()
Constructor sin parámetros (capacidad máxima, por defecto).


PilaVectorImpl

public PilaVectorImpl(int max)
Constructor con un parámetro.

Parameters:
max - número máximo de elementos que puede contener
Throws:
ExcepcionParametroIncorrecto - si la capacidad máxima de la nueva pila es negativa
Method Detail

numElems

public int numElems()
Accesor de lectura del número de elementos que hay en el contenedor.

Specified by:
numElems in interface Contenedor<E>
Returns:
número de elementos que contiene actualmente

estaVacio

public boolean estaVacio()
Método para comprobar si el contenedor está vacío.

Specified by:
estaVacio in interface Contenedor<E>
Returns:
cierto o falso, según si está vacío o no lo está

estaLleno

public boolean estaLleno()
Método para comprobar si el contenedor está lleno.

Specified by:
estaLleno in interface ContenedorAcotado<E>
Returns:
cierto o falso, según si está lleno o no lo está

apilar

public void apilar(E elem)
Añade un elemento a la pila, si ningún.

Specified by:
apilar in interface Pila<E>
Parameters:
elem - elemento que se quiere añadir en la pila
Throws:
ExcepcionContenedorLleno - si la pila está llena

desapilar

public E desapilar()
Borra el elemento de la cima de la pila, si hay alguno.

Specified by:
desapilar in interface Pila<E>
Returns:
elemento que había en la cima de la pila
Throws:
ExcepcionContenedorVacio - si la pila está vacía

cima

public E cima()
Accesor de lectura del último elemento añadido en la pila, si hay.

Specified by:
cima in interface Pila<E>
Returns:
elemento de la cima de la pila
Throws:
ExcepcionContenedorVacio - si la pila está vacía

elementos

public Iterador<E> elementos()
Accesor de lectura de los elementos que hay en el contenedor. Retorna una enumeración. Enumerar es simplemente enunciar la una detrás la otra (las cosas de una serie, las partes de un todo). Pero si el contenedor tiene definido algún tipo de ordenación o de recorrido, la enumeración debe ser consecuente y ofrecer los elementos por orden (FIFO, LIFO, inordre, etc.), sin alterar el estado actual del contenedor.

Specified by:
elementos in interface Contenedor<E>
Returns:
enumeración de los elementos del contenedor
Throws:
ExcepcionPosicionInvalida - si se quiere obtener el siguiente elemento de la enumeración y no hay ningún o no hay ningún más
See Also:
Iterador.haySiguiente(), Iterador.siguiente()

toString

public java.lang.String toString()
Método que sobrescribe Object.toString(). Saca los elementos separados por comas.

Overrides:
toString in class java.lang.Object