Informatik (Fach) / DAP1 (Lektion)

Vorderseite Implementiere die Methode "remove( Object o )" soll alle Elemente aus der Liste löschen, die den Inhalt o besitzen. Dabei soll die Gleichheit mit der Methode "equals" (von der Klasse "object") überprüft werden. Beachten Sie die Sonderfälle, dass das einzige, das erste oder das letzte Element gelöscht wird. Tritt kein Element mit dem Inhalt o auf, soll nichts geschehen. (Hinweis: Die Methoden "isEmpty()", "size()" und die Klasse "Element" inkl. ihrer Methoden sind gegeben.)
Rückseite

public void remove( Object o ) { Element candidate = first; Element nextCandidate; while ( candidate != null ) { nextCandidate = candidate.getNext(); if ( ( o == null && candidate.getContent() == null ) || ( o != null && o.equals( candidate.getContent() ) ) ) { if ( candidate == first && candidate == last ) { first = last = null; } else if ( candidate == first ) { first = candidate.getNext(); first.disconnectPrevious(); } else if ( candidate == last ) { last = last.getPrevious(); last.disconnectNext(); } else { candidate.getPrevious().connectAsNext( candidate.getNext() ); } size--; } candidate = nextCandidate; } }

Diese Karteikarte wurde von checko erstellt.