Ver Mensaje Individual
  #53 (permalink)  
Antiguo 16/05/2017, 18:36
Avatar de detective_jd
detective_jd
 
Fecha de Ingreso: abril-2011
Ubicación: Salto
Mensajes: 437
Antigüedad: 13 años
Puntos: 6
Respuesta: Implementar TablaHash

Hola a todos, resulta que encontré una solución con lo del hashCode:

una función para calcular el hashCode según la clave pasada por parámetro:

Código Java:
Ver original
  1. private int hash(Object key) {
  2.         // hace el calculo del hashcode
  3.         int mod = key.hashCode() % table.length;
  4.         // si dicho calculo es menor, le sumas el tamaño del array, de lo contrario lo dejas tal como estás
  5.         return mod < 0 ? mod + table.length : mod;
  6.     }

Otra función para el tema de los índices y por si acaso:

Código Java:
Ver original
  1. private int getIndex(Object key) {
  2.         int index = hash(key);
  3.         while (table[index] != null && !table[index].getKey().equals(key)) {
  4.             index = (index + 1) % table.length;
  5.         }
  6.         return index;
  7.     }

Tadavía no lo subí a github, xq ví que tengo problemas en el remove, que si borro 3 me borra 4, si borro 1 me borra 2, en fin.

Espero sus respuestas y saludos.