====== 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 >>> ]]