package lista;
import java.util.Iterator;
import java.util.LinkedList;
public class EjemploLista <T> {
private class Nodo {
public Nodo siguiente;
public T elemento;
public Nodo(T elemento, Nodo siguiente) {
this.siguiente = siguiente;
this.elemento = elemento;
}
}
private Nodo primero;
public EjemploLista() {
primero = null;
}
public boolean equals (Object derecho){
if (!(derecho instanceof LinkedList<?>)) {
return false;
} else {
Iterator<?> elemento = ((LinkedList<?>)derecho).iterator();
Nodo actual = primero;
while (actual!=null && elemento.hasNext()){
if (!(actual.elemento).equals (elemento.next())) {
return false;
}
actual = actual.siguiente;
}
return actual==null && !elemento.hasNext();
}
}
public void add (T elemento) {
if (primero == null) {
primero = new Nodo (elemento, null);
} else {
Nodo actual = primero;
while (actual.siguiente != null) {
actual = actual.siguiente;
}
actual.siguiente = new Nodo (elemento, null);
}
}
public String toString (){
String str= "";
Nodo actual = primero;
while (actual != null) {
str=str+'['+actual.elemento.toString()+']';
actual = actual.siguiente;
}
return str;
}
}
la duda es que no me queda nada claro el decirle a un atributo que va a ser de la clase que lo contiene. me suena a decir como si un perro fuese un perro y a demas sus patas tambien se llamasen perro. no se si me explico, no veo como no se crea error y no veo la utilidad, estoy empezando a analizar este code, si alguien me resuelve esa duda o que me oriente como se llama ese recurso para buscar info.
otra duda rapida, que se indica cuando se pasa como parametro <?> ????
gracias










Autor


En línea



