Hola a todos, empecé a hacer el LinkedHashSet casero, y esta hecho:
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);
}
}
A lo que tuve que hacer mejoras en MySet, MyMap y MyLinkedMap, pero estoy teniendo problemas con el iterator para que muestre el siguiente ya que tengo en las entradas, el que está antes y después pero también tengo el sgte:
Código Java:
Ver originalpublic MyLinkedMap.Entry<K, V> nextNode() {
MyLinkedMap.Entry<K, V> e = next;
current = e;
next = e.after;
return e;
}
static class Entry<K,V> extends MyMap.Entry {
Entry<K,V> before = null;
Entry<K,V> after = null;
public Entry(K xkey, V xvalue) {
super(xkey, xvalue);
}
}
En la consola me muestra esto:
run:
ORDEN NORMAL
Deborah
Tommy
Franco
ORDEN NINGUNO
Franco
Manuela
Tommy
Deborah
Denisse
esta es una prueba aparte que no la pondré en github pero en listado normal a partir de la 3era entrada no me muestra las otras por esto de las colisiones.
Esta es la prueba:
Código Java:
Ver originalpackage linkedsetsimplev1;
public class Cuerpo
{
public static void main
(String[] args
) { MySet<String>set = new MyLinkedSet();
set.add("Deborah");
set.add("Tommy");
set.add("Franco");
set.add("Manuela");
set.add("Miguel");
set.add("Denisse");
System.
out.
println("\t\tORDEN NORMAL"); set.stream().forEach((s) -> {
});
MyLinkedSet<String>set2 = new MyLinkedSet();
set2.add("Franco");
set2.add("Miguel");
set2.add("Manuela");
set2.add("Tommy");
set2.add("Deborah");
set2.add("Denisse");
System.
out.
println("\t\tORDEN NINGUNO"); set2.stream().forEach((s) -> {
});
}
}
Y no sé me ocurre nada para arreglarlo, espero sus respuestas y saludos.