====== Löschen von Elementen ====== Mit der Möglichkeit, einfach eine Referenz auf das n-te Element zu erhalten hast du bereits die wichtigste Voraussetzung geschaffen, um ein Element an Position n löschen zu können. ---- {{:aufgabe.png?nolink |}} === (A1) === Zeichne ein Objektdiagramm, anhand dessen du den Ablauf des Löschvorgangs erläutern kannst. Schreibe dann einen Merksatz stichwortartig nieder, was beim Löschen eines neuen Knotens an Position n alles passieren muss. Gibt es Fälle, die möglicherweise beim Entfernen von Listenknoten besonders berücksichtigt werden müssen? ---- {{:aufgabe.png?nolink |}} === (A2) === Implementiere die Methode ''removeAt'', die das n-te Element aus der Liste entfernt. ++++ Lösungsvorschlag | /** * Entfernt das Element, das am gegebenen Index steht, aus der Liste. * @param index Die Stelle, von der der Wert entfernt werden soll. */ public void removeAt(int index) { if (!this.isEmpty() && index == 0) { this.first = first.getNext(); return; } if (index == this.length()-1) { Node n = this.getNode(index-1); n.setNext(null); return; } if ( index < this.length()-1 && index > 0) { Node n1 = this.getNode(index-1); Node n2 = this.getNode(index+1); n1.setNext(n2); } } ++++ ---- [[..:liste_java:|<<< Zurück zum Einfügen (am Index)]] **oder** [[..:liste_java:hasvalue|Weiter zur Suche >>> ]]