uoc.ei.tads
Class DiccionarioListaImpl<C,E>

java.lang.Object
  extended by uoc.ei.tads.DiccionarioListaImpl<C,E>
All Implemented Interfaces:
java.io.Serializable, Contenedor<E>, Diccionario<C,E>

public class DiccionarioListaImpl<C,E>
extends java.lang.Object
implements Diccionario<C,E>

Clase que implementa las operaciones de un diccionario por delegación en una lista.

See Also:
Serialized Form

Nested Class Summary
protected static class DiccionarioListaImpl.RecorridoConAnterior<E>
           
 
Field Summary
protected  ListaEncadenada<ClaveValor<C,E>> diccionario
           
 
Constructor Summary
DiccionarioListaImpl()
           
 
Method Summary
 E borrar(C clave)
          Borra la primera clave coincidente y el elemento asociado, si se puede.
protected  DiccionarioListaImpl.RecorridoConAnterior<ClaveValor<C,E>> buscaPosicion(C clave)
           
 Iterador<C> claves()
          Accesor de lectura de los elementos que hay en el contenedor.
 E consultar(C clave)
          Accesor de lectura del elemento asociado con una clave.
 Iterador<E> elementos()
          Accesor de lectura de los elementos que hay en el contenedor.
 boolean esta(C clave)
          Comprueba si hay un elemento con una determinada clave.
 boolean estaVacio()
          Comprueba si el contenedor está vacío.
 void insertar(C clave, E obj)
          Añade un elemento con una clave asociada, si se puede.
 int numElems()
          Accesor de lectura del número de elementos que hay en el contenedor.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

diccionario

protected ListaEncadenada<ClaveValor<C,E>> diccionario
Constructor Detail

DiccionarioListaImpl

public DiccionarioListaImpl()
Method Detail

buscaPosicion

protected DiccionarioListaImpl.RecorridoConAnterior<ClaveValor<C,E>> buscaPosicion(C clave)

insertar

public void insertar(C clave,
                     E obj)
Description copied from interface: Diccionario
Añade un elemento con una clave asociada, si se puede.

Specified by:
insertar in interface Diccionario<C,E>
Parameters:
clave - clave asociada al elemento que se quiere añadir
obj - elemento que se quiere añadir al diccionario

esta

public boolean esta(C clave)
Description copied from interface: Diccionario
Comprueba si hay un elemento con una determinada clave.

Specified by:
esta in interface Diccionario<C,E>
Parameters:
clave - clave asociada a un elemento
Returns:
cierto o falso, según si encuentra o no encuentra la clave

consultar

public E consultar(C clave)
Description copied from interface: Diccionario
Accesor de lectura del elemento asociado con una clave.

Specified by:
consultar in interface Diccionario<C,E>
Parameters:
clave - clave de referencia
Returns:
elemento asociado con la clave

claves

public Iterador<C> claves()
Description copied from interface: Diccionario
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:
claves in interface Diccionario<C,E>
Returns:
enumeración de las claves del contenedor
See Also:
Iterador.haySiguiente(), Iterador.siguiente()

borrar

public E borrar(C clave)
Description copied from interface: Diccionario
Borra la primera clave coincidente y el elemento asociado, si se puede.

Specified by:
borrar in interface Diccionario<C,E>
Parameters:
clave - clave de referencia
Returns:
elemento asociado con la clave que se ha borrado

estaVacio

public boolean estaVacio()
Description copied from interface: Contenedor
Comprueba si el contenedor está vacío.

Specified by:
estaVacio in interface Contenedor<E>
Returns:
cierto si el contenedor está vacío

numElems

public int numElems()
Description copied from interface: Contenedor
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 hay en el contenedor

elementos

public Iterador<E> elementos()
Description copied from interface: Contenedor
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.

Specified by:
elementos in interface Contenedor<E>
Returns:
enumeración de los elementos del contenedor.
See Also:
Iterador.haySiguiente(), Iterador.siguiente()

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object