uoc.ei.tads
Interface Contenedor<E>

All Superinterfaces:
java.io.Serializable
All Known Subinterfaces:
Arbol<E>, Cola<E>, Conjunto<E>, ContenedorAcotado<E>, Diccionario<C,E>, Lista<E>, Pila<E>
All Known Implementing Classes:
ArbolAbstracto, ArbolAVL, ArbolBinario, ArbolBinarioEncadenadoImpl, ArbolBinarioVectorImpl, ArbolGeneralDelegImpl, ColaConPrioridad, ColaConPrioridad.ArbolBinarioQuasicompletoVectorImpl, ColaVectorImpl, ConjuntoAbstracto, ConjuntoAVLImpl, ConjuntoTablaImpl, DiccionarioAVLImpl, DiccionarioListaImpl, DiccionarioVectorImpl, ListaDoblementeEncadenada, ListaEncadenada, PilaVectorImpl, TablaDispersion

public interface Contenedor<E>
extends java.io.Serializable

Interfaz que define las operaciones comunes de todos los TAD que se caracterice por contener un conjunto de elementos. No se contemplan los métodos crea() ni destruye(): las clases que la implementen pueden definirlos o dejar que el compilador use el constructor por defecto, y el "garbage collector" para los objetos no referenciados. También define, a efectos prácticos, el método elementos() que permite recorrer todos los elementos del contenedor mediante un iterador.


Method Summary
 Iterador<E> elementos()
          Accesor de lectura de los elementos que hay en el contenedor.
 boolean estaVacio()
          Comprueba si el contenedor está vacío.
 int numElems()
          Accesor de lectura del número de elementos que hay en el contenedor.
 

Method Detail

estaVacio

boolean estaVacio()
Comprueba si el contenedor está vacío.

Returns:
cierto si el contenedor está vacío

numElems

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

Returns:
número de elementos que hay en el contenedor

elementos

Iterador<E> elementos()
Accesor de lectura de los elementos que hay en el contenedor. Retorna una enumeración. Se puede obtener un recorrido con un par de líneas de código:
 for ( Iterador it = tad.elementos(); it.haySiguiente(); )
    System.out.println(it.siguiente()); 
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.

Returns:
enumeración de los elementos del contenedor.
Throws:
ExcepcionPosicionInvalida - si se quiere obtener el siguiente elemento de la enumeración y éste no existe.
See Also:
Iterador.haySiguiente(), Iterador.siguiente()