Hola
CalgaryCorpus en base al test de los Set es que me dí cuenta del problema de las colisiones, pero estoy casi con el problema resuelto:
Código Java:
Ver originalprivate void addEntry(K key, V value){
if(size >= table.length * 0.75){
Entry<K,V>[] tmp = table;
size = 0;
table
= Arrays.
copyOf(table, table.
length * 2); for(int i = 0; i < table.length; i++){
table[i] = null;
}
for (Entry<K, V> e : tmp) {
if(e != null){
put(e.getKey(),e.getValue());
}
}
}
int hash = hash(key,table.length);
Entry<K,V> et = new Entry(key, value,table[hash]);
if(table[hash] == null){
table[hash] = et;
} else {
for (Entry e = table[hash]; e != null; e = e.next) {
// sólo necesito obtener la última entrada y así reemplazo el siguiente del último por la entrada nueva
}
}
size++;
}
Sólo queda eso para resolver lo de las colisiones, creo.
Por otro lado, dices esto:
No me doy cuenta que debo mejorar de los test, sinceramente no se me ocurre un test más o que mejora hacer.
Espero sus respuestas y saludos.