Class ListIterator


  • public abstract class ListIterator
    extends java.lang.Object

    Autor

    Dokumentiert von: Mert Can Özdemir
    Modul: DAP1

    Dokumentation 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) Element current  
    • 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
      boolean hasNext()
      boolean hasNext()
      java.lang.Object next()
      Object next()
      (package private) abstract Element step()
      Abstrakte Methode
      • Methods inherited from class java.lang.Object

        clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • current

        Element current
    • Constructor Detail

      • ListIterator

        ListIterator​(Element elem)

        Konstruktor - Erstellt ein neues 'ListIterator'-Objekt

        Der ListIterator beginnt bei 'elem' ('elem' ist eine Referenz auf ein Objekt der Kalsse'Element') zu iterieren.

    • 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ück

        Beachte: 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.