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

java.lang.Object
  extended by uoc.ei.tads.DiccionariVectorImpl<C,E>
All Implemented Interfaces:
java.io.Serializable, Contenidor<E>, Diccionari<C,E>

public class DiccionariVectorImpl<C,E>
extends java.lang.Object
implements Diccionari<C,E>

Implementació d'un diccionari mitjançant un vector de mida fixa. Aquesta implementació concreta està pensada per a casos molt concrets en que per una banda es requereix un diccionari on, un cop inicialitzat, tindrem sempre el mateix nombre d'elements (conegut d'entrada); i per altra banda, necessitem accés al vector de parell claus valor. Concretament s'usa en l'algorisme de càlcul dels camins mínims d'un graf que proporciona la llibreria.

Since:
1.5
See Also:
Serialized Form

Nested Class Summary
protected static class DiccionariVectorImpl.IteradorClaus<CI,EI>
           
protected static class DiccionariVectorImpl.IteradorValors<CI,EI>
           
 
Field Summary
protected  ClauValor<C,E>[] diccionari
           
protected  int n
           
 
Constructor Summary
DiccionariVectorImpl(int n)
           
 
Method Summary
 void afegir(C clau, E obj)
          Afegeix un element amb una clau associada, si es pot.
 Iterador<C> claus()
          Accessor de lectura dels elements que hi ha al contenidor.
 E consultar(C clau)
          Accesor de lectura de l'element associat amb una clau.
 Iterador<E> elements()
          Accessor de lectura dels elements que hi ha al contenidor.
 E esborrar(C clau)
          Esborra la primera clau coincident i l'element associat, si es pot.
 boolean estaBuit()
          Comprova si el contenidor està buit.
 ClauValor<C,E>[] getVector()
           
 boolean hiEs(C clau)
          Comprova si hi ha un element amb una determinada clau.
 int nombreElems()
          Accessor de lectura del nombre d'elements que hi ha al contenidor.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

diccionari

protected ClauValor<C,E>[] diccionari

n

protected int n
Constructor Detail

DiccionariVectorImpl

public DiccionariVectorImpl(int n)
Method Detail

getVector

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

afegir

public void afegir(C clau,
                   E obj)
Description copied from interface: Diccionari
Afegeix un element amb una clau associada, si es pot.

Specified by:
afegir in interface Diccionari<C,E>
Parameters:
clau - clau associada a l'element que es vol afegir
obj - element que es vol afegir al diccionari

esborrar

public E esborrar(C clau)
Description copied from interface: Diccionari
Esborra la primera clau coincident i l'element associat, si es pot.

Specified by:
esborrar in interface Diccionari<C,E>
Parameters:
clau - clau de referència
Returns:
element associat amb la clau que s'ha esborrat

hiEs

public boolean hiEs(C clau)
Description copied from interface: Diccionari
Comprova si hi ha un element amb una determinada clau.

Specified by:
hiEs in interface Diccionari<C,E>
Parameters:
clau - clau associada a un element
Returns:
cert o fals, segons si troba o no troba la clau

consultar

public E consultar(C clau)
Description copied from interface: Diccionari
Accesor de lectura de l'element associat amb una clau.

Specified by:
consultar in interface Diccionari<C,E>
Parameters:
clau - clau de referència
Returns:
element associat amb la clau

estaBuit

public boolean estaBuit()
Description copied from interface: Contenidor
Comprova si el contenidor està buit.

Specified by:
estaBuit in interface Contenidor<E>
Returns:
cert si el contenidor està buit

nombreElems

public int nombreElems()
Description copied from interface: Contenidor
Accessor de lectura del nombre d'elements que hi ha al contenidor.

Specified by:
nombreElems in interface Contenidor<E>
Returns:
nombre d'elements que hi ha al contenidor

claus

public Iterador<C> claus()
Description copied from interface: Diccionari
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:
claus in interface Diccionari<C,E>
Returns:
enumeració de les claus del contenidor
See Also:
Iterador.hiHaSeguent(), Iterador.seguent()

elements

public Iterador<E> elements()
Description copied from interface: Contenidor
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
See Also:
Iterador.hiHaSeguent(), Iterador.seguent()

toString

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