eps.werkzeuge
Class Liste<Typ>

java.lang.Object
  extended by eps.werkzeuge.Liste<Typ>
All Implemented Interfaces:
Iterable<Typ>

public class Liste<Typ>
extends Object
implements Iterable<Typ>

Klasse Liste. Objekte eines Typs koennen gehalten werden. Beim Erzeugen eines Listeobjekts muss man angeben, von welchem Typ die aufzubewahrenden Objekte sein werden.
toDo: ueberarbeiten Das Iterieren ueber Elemente der Liste ist via Wiederholung mit fester Anzahl (for-each Konstrukt in Java) moeglich. Anmerkung: Das Attribut speicher soll und braucht von Schuelern in der 10.Klasse nicht inspiziert zu werden. Hinweis: Komplexitaet von Diensten wird in der 10.Klasse nicht thematisiert. Entsprechend war dies bei der Umsetzung der Klasse Liste auch kein wichtiges Thema. Diese Klasse soll Interessierten nur prinzipiell zeigen, wie Objekte "bequem" gehalten werden koennten. Fuer weiterfuehrende Arbeit mit dieser Klasse kann man das Attribut einfacheRepraesentation, weiter die Methode einfacheRepraesentationAktualisieren und deren Aufruf aus dieser Klassendefinition auch einfach entfernen.

Author:
Ute Heuer

Constructor Summary
Liste()
          Eine leere Liste wird erzeugt.
Liste(Typ[] elemente)
          Konstruktor zum Umfuellen eines Feldes in eine Liste, dabei werden null-Referenzen nicht umgefuellt.
 
Method Summary
 int anzahlGeben()
          Berechnet die Anzahl der Elemente in der Liste.
 boolean entfernen(Typ element)
          Versucht ein Element aus der Liste zu entfernen, welches dem eingegebenen gleicht.
 boolean enthaeltElement(Typ element)
           
 boolean equals(Liste<Typ> listeRechts)
          Kann nach Kapitel 2 verwendet werden.
 Typ herausholen()
          Entnimmt das erste Element aus der Liste.
 void hineinstecken(Typ... elemente)
          Dieser Dienst fuegt eine beliebig lange Aufzaehlung von Elementen gleichen Typs am Ende der Liste an, und zwar in der angegebenen Reihenfolge
 void hineinstecken(Typ element)
          Dieser Dienst steckt ein Element in die Liste hinein, und zwar am Ende.
 boolean istLeer()
           
 Iterator<Typ> iterator()
          Dieser Dienst ist fuer Nutzer in der 10.Klasse nicht weiter von Interesse.
 Liste<Typ> kopieGeben()
          nach Kapitel 4
 void leeren()
          Vollstaendige Entleerung der Liste
 Typ schauen()
          Dieser Dienst ermoeglicht das "Anschauen" des ersten Listenelements.
 String toString()
          Dieser Dienst liefert Informationen ueber den Inhalt der Liste.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Liste

public Liste()
Eine leere Liste wird erzeugt. Wollen Sie eine Liste fuer Worte erzeugen, dann geben Sie als Wert des Typ-Parameters ein: String . Wollen Sie eine Liste fuer ganze Zahlen erzeugen, dann geben Sie als Wert des Typ-Parameters ein: Integer . Wollen Sie eine Liste fuer Dreiecke erzeugen, dann geben Sie als Wert des Typ-Parameters ein: eps.einfacheGrafik.Dreieck . u.s.w.


Liste

public Liste(Typ[] elemente)
Konstruktor zum Umfuellen eines Feldes in eine Liste, dabei werden null-Referenzen nicht umgefuellt. Es wird eine Liste erzeugt, die Elemente eines Typs enthaelt.

Parameters:
elemente - ein Feld mit Elementen eines Typs
Method Detail

anzahlGeben

public int anzahlGeben()
Berechnet die Anzahl der Elemente in der Liste. Ausgabe: die Anzahl der Elemente


entfernen

public boolean entfernen(Typ element)
Versucht ein Element aus der Liste zu entfernen, welches dem eingegebenen gleicht. Engl.: remove. Ausgabe: true, wenn das Element drin war und also entfernt werden konnte, ansonsten false. Anmerkung: Wenn die Kopie einer Liste durchlaufen wird, dann kann aus der "Orginalliste" mit diesem Dienst etwas entfernt werden.


enthaeltElement

public boolean enthaeltElement(Typ element)

equals

public boolean equals(Liste<Typ> listeRechts)
Kann nach Kapitel 2 verwendet werden. Motivation: Es ist sinnvoll festzulegen, wann zwei Listen gleich sind. Hier ist Gleichheit als �bereinstimmung in Reihenfolge und Inhalt definiert. Der Name des Dienstes ist von Java festgelegt. Ab Kapitel 5 kann angesprochen werden, dass equals der Oberklasse Object ueberschrieben wird.


herausholen

public Typ herausholen()
Entnimmt das erste Element aus der Liste. Engl.: removeFirst Aus einer leeren Liste kann kein Element entnommen werden, dieser Dienst gibt dann einfach null aus.


hineinstecken

public void hineinstecken(Typ... elemente)
Dieser Dienst fuegt eine beliebig lange Aufzaehlung von Elementen gleichen Typs am Ende der Liste an, und zwar in der angegebenen Reihenfolge


hineinstecken

public void hineinstecken(Typ element)
Dieser Dienst steckt ein Element in die Liste hinein, und zwar am Ende. Engl.: addLast .


istLeer

public boolean istLeer()

iterator

public Iterator<Typ> iterator()
Dieser Dienst ist fuer Nutzer in der 10.Klasse nicht weiter von Interesse. Anmerkung: Wenn via Iterator an Listenobjekten etwas veraendert wird, ist der Nutzer dafuer verantwortlich, (bei Interesse) das Attribut einfacheRepraesentation zu aktualisieren. Es wird dann nicht automatisch aktualisiert. In dem Fall sollte die entsprechende Methode dieser Klassendefinition veroeffentlicht werden (oder das Attribut etc. komplett aus der Klassendefinition entfernt werden.)

Specified by:
iterator in interface Iterable<Typ>

kopieGeben

public Liste<Typ> kopieGeben()
nach Kapitel 4

Returns:
Liefert eine Kopie der aktuellen Liste, die zum Durchlauf verwendet werden kann. Dann kann waehrend des Durchlaufs in die aktuelle Liste (nicht in die Kopie!) etwas hineingesteckt oder herausgenommen werden. So vermeidet man Laufzeitfehler (Concurrent Modification Exception)

leeren

public void leeren()
Vollstaendige Entleerung der Liste


schauen

public Typ schauen()
Dieser Dienst ermoeglicht das "Anschauen" des ersten Listenelements. Das "angeschaute" Element bleibt in der Liste, es wird nicht entfernt. Wird versucht, ein Element aus einer leeren Liste anzuschauen, dann gibt dieser Dienst einfach null aus.


toString

public String toString()
Dieser Dienst liefert Informationen ueber den Inhalt der Liste. Jedes Element der Liste gibt sozusagen seine Visitenkarte (via Dienst toString, den jedes Objekt anbietet) ab. Er traegt den Namen, der in Java "vorgesehen ist" und nicht "inhaltsuebersichtGeben".
Anmerkung: Wenn die Objekte des Typs keine "nette Visitenkarte" haben, dann wird eine Standardvisitenkarte verwendet. Da ist der Klassenname des Objekts notiert und eine Adresse im Speicher.
Experiment: "Holen" Sie sich die Ausgabe dieses Dienstes auf die Arbeitsleiste Ihrer Umgebung. Vergeben Sie einen Namen fuer die Ausgabe, sagen wir: string1. Schicken Sie sodann die Anweisung System.out.println(string1) via Direkteingabe-Fenster ab.

Overrides:
toString in class Object