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

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

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

Implementación de un diccionario mediante un vector de medida fija. Esta implementación concreta està pensada para casos muy concretos en que por una banda se requiere un diccionario donde, una vez inicializado, tendremos siempre el mismo número de elementos (conocido de entrada); y por otro lado, necesitamos acceso al vector de par claves valor. Concretamente se usa en el algoritmo de cálculo de los caminos mínimos de un grafo que proporciona la librería.

See Also:
Serialized Form

Nested Class Summary
protected static class DiccionarioVectorImpl.IteradorClaves<CI,EI>
           
protected static class DiccionarioVectorImpl.IteradorValores<CI,EI>
           
 
Field Summary
protected  ClaveValor<C,E>[] diccionario
           
protected  int n
           
 
Constructor Summary
DiccionarioVectorImpl(int n)
           
 
Method Summary
 E borrar(C clave)
          Borra la primera clave coincidente y el elemento asociado, si se puede.
 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.
 ClaveValor<C,E>[] getVector()
           
 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 ClaveValor<C,E>[] diccionario

n

protected int n
Constructor Detail

DiccionarioVectorImpl

public DiccionarioVectorImpl(int n)
Method Detail

getVector

public ClaveValor<C,E>[] getVector()

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

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

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

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

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()

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