class Entry { String key; // Schlüssel eines Dict-Eintrags } class Dict { // Maximale Größe eines Dict final static int MAXSIZE = 1000; // Variable Entry[] entries; // Array, in dem die Einträge gespeichert werden int count; // Anzahl der Einträge = Index des ersten freien Elements // Konstruktor Dict () { entries = new Entry[MAXSIZE]; count = 0; } // Methoden int size () { // size() liefert die momentane Anzahl der Einträge im aktuellen Dict. ... } void addEntry (Entry e) { // addEntry(e) fügt den Eintrag e hinzu (sofern MAXSIZE noch nicht // erreicht wurde). Es wird nicht überprüft, ob der Eintrag e bereits // vorhanden ist; duplizierte Einträge sind also möglich. ... } Entry findKey (String s) { // Falls mindestens ein Eintrag existiert, dessen key-Variable gleich // s ist, dann liefert findKey(s) einen dieser Einträge; anderenfalls // liefert findKey null. ... } void deleteKeyOnce (String s) { // Falls mindestens ein Eintrag existiert, dessen key-Variable gleich // s ist, dann löscht deleteKeyOnce einen dieser Einträge (und zwar // genau denjenigen, der auch von findKey(s) geliefert würde); // anderenfalls passiert nichts. ... } boolean containsKey (String s) { // Falls mindestens ein Eintrag existiert, dessen key-Variable gleich // s ist, dann liefert containsKey(s) true, anderenfalls false. ... } Dict selectKey (String s) { // selectKey(s) liefert ein neues Dict, das genau diejenigen Einträge // des aktuellen Dict enthält, deren key-Variable gleich s ist. ... } }