Está en la página 1de 4

Tienes que crear una clase Nodo y una clase Lista, en la clase Nodo lo nico que t endras que

hacer es tener el valor del nodo y una referencia al siguiente nodo, y en la clase Lista tendras una referencia al primer nodo y al ltimo. y ah tendras lo s mtodos para recorrer, eliminar y borrar. ============ Nodo.java ============== public class Nodo<C> { private C valor; private Nodo sig; public Nodo() { sig = null; } public Nodo(C valor) { this.valor = valor; this.sig = null; } public Nodo(C valor, Nodo sig) { this.valor = valor; this.sig = sig; } /** * @return the valor */ public C getValor() { return valor; } /** * @param valor the valor to set */ public void setValor(C valor) { this.valor = valor; } /** * @return the sig */ public Nodo getSig() { return sig; } /** * @param sig the sig to set */ public void setSig(Nodo sig) { this.sig = sig; } } ======== Lista.java ================ public class Lista<C> implements Iterable<C> {

private Nodo<C> p; private Nodo<C> u; private int tam; public Lista() { p = null; u = null; tam = 0; } public void agregar(C valor) { Nodo<C> nodo = new Nodo<C>(valor, null); if (u == null) { p = nodo; u = nodo; } else { u.setSig(nodo); u = nodo; } ++tam; } public boolean eliminar(C valor) { Nodo<C> actual = p; Nodo<C> anterior = null; while (actual != null) { if (actual.getValor().equals(valor)) { //Ya lo encontro if (anterior == null) { p = p.getSig(); } else { anterior.setSig(actual.getSig()); } --tam; return true; } anterior = actual; actual = actual.getSig(); } //No lo encontro return false; } public Iterator<C> iterator() { return new ListaIterator(); } public int getTam() { return tam; } private class ListaIterator implements Iterator<C> {

private Nodo<C> actual; private Nodo<C> anterior; public ListaIterator() { actual = p; anterior = null; } public boolean hasNext() { return actual != null; } public C next() { C valor = actual.getValor(); anterior = actual; actual = actual.getSig(); return valor; } public void remove() { if (anterior != null) { anterior.setSig(actual.getSig()); actual = actual.getSig(); } else { p = p.getSig(); actual = p; } } } } ======== Main.java ============= public class Main { public static void main(String[] args) { Lista<String> lista = new Lista<String>(); lista.agregar("Juan"); lista.agregar("Pedro"); lista.agregar("Laura"); lista.agregar("Miguel"); lista.agregar("Luisa"); System.out.println("Primera lista"); //Imprimos la lista for (String nombre : lista) { System.out.println(nombre); } System.out.println(""); lista.eliminar("Pedro"); //Eliminamos a pedro System.out.println("Lista despues de eliminar"); for (String nombre : lista) { System.out.println(nombre); } }

} Fuente(s): Escrib el cdigo, lo prob y corri bien

También podría gustarte