lehrbuch.multi
Class StapelL<Element>

java.lang.Object
  extended by lehrbuch.multi.StapelL<Element>
All Implemented Interfaces:
IStapel<Element>

public class StapelL<Element>
extends java.lang.Object
implements IStapel<Element>


Nested Class Summary
protected static class StapelL.Knoten<Element>
           
 
Field Summary
protected  StapelL.Knoten<Element> anker
           
 
Constructor Summary
StapelL()
          Konstruktor erstellt einen leeren Stapel ensures istLeer()
 
Method Summary
 StapelL<Element> clone()
          kopiert Stapelobjekt const
 void eintragen(Element element)
          trägt Elemente in den Stapel ein
 void entfernen()
          entfernt das jüngste Element aus dem Stapel
 void entleeren()
          löscht alle Elemente aus dem Stapel ensures istLeer()
 boolean equals(java.lang.Object stapel)
          überprüft ob zwei Stapel dieselben Objekte als Element enthalten oder nicht
 boolean istLeer()
          überprüft, ob der Stapel Elemente enthält oder nicht
 boolean istVoll()
          überprüft, ob der Stapel noch Elemente aufnehmen kann
 Element lesen()
          liefert das jüngste Element aus dem Stapel
 
Methods inherited from class java.lang.Object
finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

anker

protected StapelL.Knoten<Element> anker
Constructor Detail

StapelL

public StapelL()
Konstruktor erstellt einen leeren Stapel ensures istLeer()

Method Detail

entleeren

public void entleeren()
löscht alle Elemente aus dem Stapel ensures istLeer()

Specified by:
entleeren in interface IStapel<Element>

istLeer

public boolean istLeer()
überprüft, ob der Stapel Elemente enthält oder nicht

Specified by:
istLeer in interface IStapel<Element>
Returns:
true wenn die Warteschlange keine Elemente enthält; ein nächstes lesen oder entfernen löst LeerException aus const

istVoll

public boolean istVoll()
überprüft, ob der Stapel noch Elemente aufnehmen kann

Specified by:
istVoll in interface IStapel<Element>
Returns:
true wenn der Stapel keine Elemente mehr aufnehmen kann; ein nächstes eintragen löst VollException aus const

eintragen

public void eintragen(Element element)
               throws VollException
trägt Elemente in den Stapel ein

Specified by:
eintragen in interface IStapel<Element>
Parameters:
element - das einzutragende Objekt requires !istVoll(); ensures ensures !istLeer() & lesen() == element;
Throws:
VollException

lesen

public Element lesen()
              throws LeerException
liefert das jüngste Element aus dem Stapel

Specified by:
lesen in interface IStapel<Element>
Returns:
das jüngste Element
Throws:
LeerException - wenn istLeer() d.h. wenn es keine Elemente in dem Stapel gibt requires !istLeer() const

entfernen

public void entfernen()
               throws LeerException
entfernt das jüngste Element aus dem Stapel

Specified by:
entfernen in interface IStapel<Element>
Throws:
LeerException - wenn istLeer() d.h. wenn es keine Elemente in dem Stapel gibt requires !istLeer(); ensures !istVoll();

clone

public StapelL<Element> clone()
kopiert Stapelobjekt const

Overrides:
clone in class java.lang.Object

equals

public boolean equals(java.lang.Object stapel)
überprüft ob zwei Stapel dieselben Objekte als Element enthalten oder nicht

Overrides:
equals in class java.lang.Object
Parameters:
stapel - der zweite Stapel
Returns:
true wenn die zwei Stapel dieselben Objekte als Element enthalten const