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 originalprivate int hash
(Object key
) { // hace el calculo del hashcode
int mod = key.hashCode() % table.length;
// si dicho calculo es menor, le sumas el tamaño del array, de lo contrario lo dejas tal como estás
return mod < 0 ? mod + table.length : mod;
}
Otra función para el tema de los índices y por si acaso:
Código Java:
Ver originalprivate int getIndex
(Object key
) { int index = hash(key);
while (table[index] != null && !table[index].getKey().equals(key)) {
index = (index + 1) % table.length;
}
return index;
}
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.