public class Listenelement { private Listenelement nachfolger; private Daten inhalt; public Listenelement(Daten daten) { nachfolger = null; inhalt = daten; } public void einfuegen(Daten daten, int index) { if (nachfolger == null) { nachfolger = new Listenelement(daten); } else { if (index == 0) { // neues Listenelement erzeugen mit daten als inhalt var zwischenspeicher = new Listenelement(daten); // bisherigen Nachfolger als Nachfolger des neuen Elements setzen zwischenspeicher.nachfolgerSetzen(nachfolger); // neues Listenelement als nachfolger setzen nachfolger = zwischenspeicher; } else { nachfolger.einfuegen(daten, index - 1); } } } public Daten suchen(Daten daten) { if (inhalt.equals(daten) == false) { if (nachfolger != null) { return nachfolger.suchen(daten); } else { return null; } } else { return inhalt; } } public Listenelement loeschen(Daten daten) { if(inhalt.equals(daten)) { return nachfolger; } else { if (nachfolger != null) { nachfolger = nachfolger.loeschen(daten); } return this; } } public void nachfolgerSetzen(Listenelement neuerNachfolger) { nachfolger = neuerNachfolger; } }