Ver Mensaje Individual
  #25 (permalink)  
Antiguo 29/11/2017, 22:34
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: TablaHash y sus pasos

Hola FuzzyLog me sirvió muchísimo lo que me dijiste resulta que era ese el problema, así que hice este cambio:

Código Java:
Ver original
  1. protected void addEntry(K key, V value){
  2.         if(size >= table.length * 0.75){
  3.             Entry<K,V>[] tmp = table;
  4.             table = Arrays.copyOf(table, table.length * 2);
  5.             this.clear();
  6.             for (Entry<K, V> e : tmp) {    
  7.                 if(e != null){
  8.                     put(e.getKey(),e.getValue());
  9.                     for(;e != null; e = e.next){ // -> puse este for para que también almacene las entradas por colisiones
  10.                         put(e.getKey(),e.getValue());
  11.                     }
  12.                 }
  13.             }
  14.         }
  15.         this.createEntry(key,value);
  16.     }

Y funcionó:

run:
ORDEN NORMAL
Deborah
Tommy
Franco
Manuela
Miguel
Denisse

ORDEN NINGUNO
Franco
Miguel
Manuela
Tommy
Deborah
Denisse

Ya lo subí a github: enlace

Puede que le ponga los test que tengo hasta para ver que tal. Saludos y gracias.