Bueno, llegué al LinkedHashSet o bien MyLinkedSet, pero tengo el problema en las colisiones (en MyMap esta el lio de nuevo :( ) y el problema que tengo es que cuando llego ahí no puedo listar los siguientes datos:
Código Java:
Ver original@Override
public V put(K key, V value) {
if(key != null){
int hash = hash(key,table.length);
for(Entry<K,V> e = table[hash]; e != null; e = e.next){
if(e.getKey().equals(key)){
V oldValue = e.getValue();
e.setValue(value);
e.recordAccess(this);
return oldValue;
} else if(e.next == null){ // este else if es el que me complica
e.next = new Entry(key,value);
e.recordAccess(this); // -> ¿pero cómo resuelvo esto?
size++;
return value;
}
}
this.addEntry(key, value);
return value;
} else {
return null;
}
}
y otra vez la clave está en MyMap y MyLinkedMap que ya los puse en el código, digo esto xq Mi Set Enlazado tiene esto de código:
Código Java:
Ver originalpackage linkedsetsimplev1;
import java.util.Collection;
public class MyLinkedSet<E> extends MySet<E>
{
public MyLinkedSet() {
super(4,true);
}
public MyLinkedSet(int xcap) {
super(xcap,true);
}
public MyLinkedSet(Collection<? extends E> c) {
super(c.size(),true);
addAll(c);
}
}
Porque lo único nuevo q tiene MySet es este constructor que MyLinkedSet usa:
Código Java:
Ver originalMySet(int xcap, boolean dummy) {
map = new MyLinkedMap(xcap);
}
Y les pregunto que ideas me dan para arreglar esto????
Espero sus respuestas y Saludos.