Ver Mensaje Individual
  #29 (permalink)  
Antiguo 04/05/2017, 21:20
Avatar de detective_jd
detective_jd
 
Fecha de Ingreso: abril-2011
Ubicación: Salto
Mensajes: 437
Antigüedad: 13 años, 7 meses
Puntos: 6
Respuesta: Implementar TablaHash

Hola CalgaryCorpus con respecto a los recorridos, estuve mirando y no pude con esto, pero también dime cambiar el recorrido para imprimir debo tener en cuenta el hashCode ¿verdad? en este caso sería getIndex, xq excepto eso no se me ocurre nada:

Código Java:
Ver original
  1. private abstract class HashIterator<E> implements Iterator<E> {
  2.         private int index = 0;
  3.         private Entry<K,V> currEntry = null;
  4.         private Entry<K,V> nextEntry = null;
  5.         /**
  6.          * Construye una nueva iteración hash
  7.          */
  8.         @SuppressWarnings("empty-statement")
  9.         HashIterator() {
  10.             if (table[index] != null){
  11.                 nextEntry = table[index];
  12.             }            
  13.         }
  14.         /**
  15.          * Verifica si hay una siguiente entrada
  16.          *
  17.          * @return boolean -> verdadero o falso
  18.          */
  19.         @Override
  20.         public boolean hasNext() {
  21.             return nextEntry != null;
  22.         }
  23.         /**
  24.          * Obtiene la entrada próxima, y también es una función
  25.          * sobreexplotada para los recorridos ;)
  26.          *
  27.          * @return Entry<K,V> -> entrada clave/valor
  28.          */
  29.         @SuppressWarnings("empty-statement")
  30.         public Entry<K,V> nextEntry() {
  31.             currEntry = nextEntry;
  32.             index++;
  33.             if (index < size && table[index] != null) {
  34.                 nextEntry = table[index];              
  35.             } else {
  36.                 nextEntry = null;
  37.                 for (;index < size; index++){
  38.                     if (table[index] != null){
  39.                         nextEntry = table[index];
  40.                     }
  41.                 }
  42.             }
  43.             return currEntry;
  44.         }      
  45.     }

Porque si no resuelvo esto, no podré continuar.

Espero sus respuestas y saludos.