lehrbuch.kapitel9
Class AssoSpeicherImpl
java.lang.Object
|
+--lehrbuch.kapitel9.AssoSpeicherImpl
- All Implemented Interfaces:
- AssoSpeicher
- Direct Known Subclasses:
- AssoTabImpl
- public class AssoSpeicherImpl
- extends java.lang.Object
- implements AssoSpeicher
Einfache Implementierung des Assoziativspeichers mit Hilfe einer positionierbaren Liste.
Generische Klasse, d.h. Konstruktion nur mit Registierungsobjekten möglich. Wenn Methoden mit Parametern anderer Klassen aufgerufen werden, wird die ungeprüfte Ausnahme GenFehler ausgelöst.
Constructor Summary |
AssoSpeicherImpl(java.lang.Object element,
java.lang.Object schluessel)
Konstruktor mit Registrierungsobjekten. |
Method Summary |
void |
eintragen(java.lang.Object schluessel,
java.lang.Object element)
Element mit Schlüssel wird in den Assoziativspeicher eingetragen |
void |
entleeren()
Assoziativspeicher wird geleert |
java.lang.Object |
finden(java.lang.Object schluessel)
Element mit gegebenem Schlüssel wird im Assoziativspeicher gesucht.
|
boolean |
istLeer()
Überprüft, ob mindestens ein Element in den Assoziativspeicher eingetragen wurde. |
boolean |
istVoll()
Überprüft, ob eintragen VollAusnahme auslösen würde.
|
boolean |
vorhanden(java.lang.Object schluessel)
Überprüft, ob ein Element mit diesem Schlüssel in den Assoziativspeicher eingetragen wurde. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
elementSpeicher
protected PosListe elementSpeicher
schluesselSpeicher
protected PosListe schluesselSpeicher
AssoSpeicherImpl
public AssoSpeicherImpl(java.lang.Object element,
java.lang.Object schluessel)
- Konstruktor mit Registrierungsobjekten.
- Parameters:
element
- Registrierungsobjekt: eintragen ist nur mit seiner Klasse möglichschluessel
- Registrierungsobjekt: eintragen und finden ist nur mit seiner Klasse möglich
entleeren
public void entleeren()
- Assoziativspeicher wird geleert
- Specified by:
entleeren
in interface AssoSpeicher
eintragen
public void eintragen(java.lang.Object schluessel,
java.lang.Object element)
throws VollAusnahme
- Element mit Schlüssel wird in den Assoziativspeicher eingetragen
- Specified by:
eintragen
in interface AssoSpeicher
- Parameters:
schluessel
- das Wiederauffinden des Elements ist mit diesem Schlüssel möglichelement
- das einzutragende Element- Throws:
VollAusnahme
- eintragen ist nicht mehr möglich, weil der Assoziativspeicher voll ist- See Also:
AssoSpeicher.finden(java.lang.Object)
finden
public java.lang.Object finden(java.lang.Object schluessel)
throws AssoSpeicher.NichtVorhandenAusnahme
- Element mit gegebenem Schlüssel wird im Assoziativspeicher gesucht.
// const
- Specified by:
finden
in interface AssoSpeicher
- Parameters:
schluessel
- Element wird mit diesem Schlüssel gesucht- Returns:
- das gesuchte Element
- Throws:
AssoSpeicher#NichtVorhandenAusnahme
- (innere Ausnahme) wenn kein Element mit diesem Schlüssel eingetragen wurde- See Also:
AssoSpeicher.eintragen(java.lang.Object, java.lang.Object)
vorhanden
public boolean vorhanden(java.lang.Object schluessel)
- Überprüft, ob ein Element mit diesem Schlüssel in den Assoziativspeicher eingetragen wurde. Wenn true, löst finden kein NichtVorhandenAuns aus
// const
- Specified by:
vorhanden
in interface AssoSpeicher
- Parameters:
schluessel
- der gesuchte Schlüssel- Returns:
- true wenn ein Element mit dem Schlüssel in den Assoziativspeicher gespeichert wurde
- See Also:
AssoSpeicher.finden(java.lang.Object)
istLeer
public boolean istLeer()
- Überprüft, ob mindestens ein Element in den Assoziativspeicher eingetragen wurde. Wenn true, löst eintragen kein NichtVorhandenAuns aus
// const
- Specified by:
istLeer
in interface AssoSpeicher
- Returns:
- true wenn noch kein Element in den Assoziativspeicher eingetragen wurde
- See Also:
AssoSpeicher.eintragen(java.lang.Object, java.lang.Object)
istVoll
public boolean istVoll()
- Überprüft, ob eintragen VollAusnahme auslösen würde.
// const
- Specified by:
istVoll
in interface AssoSpeicher
- Returns:
- true wenn kein Element mehr in den Assoziativspeicher eingetragen werden kann
- See Also:
AssoSpeicher.eintragen(java.lang.Object, java.lang.Object)