Class ListIterator
- java.lang.Object
-
- ListIterator
-
public abstract class ListIterator extends java.lang.Object
Autor
Dokumentiert von: Mert Can Özdemir
Modul: DAP1Dokumentation der abstrakten Klasse ListIterator
Implementiert das grundprinzip der Iteratoren ('ForwardIterator' und 'ReverseIterator'), da sich bei beiden Iteratoren ausschlie&azlig;lich die 'step()'-Methode unterscheidet.
Die 'step()'-Methode ist daher eine Abstrakte Methode, die jeweils in der Klasse 'ForwardIterator' oder 'ReverseIterator' konkret implementiert wird.
-
-
Field Summary
Fields Modifier and Type Field Description (package private) Elementcurrent
-
Constructor Summary
Constructors Constructor Description ListIterator(Element elem)Konstruktor - Erstellt ein neues 'ListIterator'-Objekt
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description booleanhasNext()boolean hasNext()java.lang.Objectnext()Object next()(package private) abstract Elementstep()Abstrakte Methode
-
-
-
Method Detail
-
hasNext
public boolean hasNext()
boolean hasNext()
Liefert true, wenn es noch ein Objekt in der Liste gibt, dessen Inhalt noch nicht über die 'next()'-Methode zurückgegeben wurde.
Wurde die Liste bereits vollständig durchlaufen, liefert der Aufruf von hasNext() false zurück
-
next
public java.lang.Object next()
Object next()
- Merkt sich das aktuelle 'Element'-Objekt in dem Attribut 'current'
- Setzt 'current' ein 'Element' in der Liste weiter
- Gibt den Inhalt der Hilfsvariablen ('content') zurückBeachte: Die next()-Methode setzt die Referenz von dem 'Element', das ausgegeben wurde auf das Nächste 'Element'-Objekt der Liste.
-> Soll ein Inhalt eines 'Element'-Objektes mehrfach verwendet werden, so muss man sich die Rückgabe in einer Hilfsvariablen zwischenspeichern.
-
step
abstract Element step()
Abstrakte Methode
Eine Abstrakte Methode gibt die Signatur einer Methode ohne konkrete Implementierung vor.
-> In der Klasse 'ListIterator' ist also noch nicht festgelegt, was 'step()' tun wird
-> Jede Klasse die von 'ListIterator' erbt, muss die Methode konkret implementieren.
=> Daher kann die Methode 'step()' bereits in der Klasse 'ListIterator' verwendet werden.
=-> Während der Ausführung wird dann die zum Objekt gehörende Implementierung von 'step()' ausgeführt. (Also 'getSucc()' (aus der Klasse 'Element') für den 'ForwardIterator' und 'getPred()' (aus der Klasse 'Element') für den 'ReverseIterator')Signatur:
[zugriffstyp] Element step();
-> Daraus folgt: Der Zugriffstyp ist frei wählbar, muss aber mindestens den Zugriffstyp package oder höher haben.
-
-