11.6 Die abstrakte Klasse Dictionary
Wir haben mit der Klasse Hashtable (oder genauer für HashMap) eine Klasse für Wörterbücher (engl. dictionary) kennen gelernt. Ein Wörterbuch ist eine Datenstruktur, die Elementpaare (Schlüssel und Wert) miteinander assoziiert. Mit »Wörterbuchproblem« ist die Frage verbunden, wie zu einem gegebenen Schlüssel möglichst schnell der zugehörige Wert bestimmt werden kann. Für die Klasse HashtMap haben wir dies schon gesehen. Der Schlüssel wird als Zahl kodiert (Hashcode) und dient als Index für ein Array. Unter diesem Index ist eine Liste abgelegt, die Werte zu allen Schlüsseln mit demselben Hashcode enthält. Im Idealfall enthalten diese Listen nur jeweils ein Element. Andere Implementierungen von Wörterbüchern sind jedoch denkbar. So muss die Verbindung zwischen Schlüssel und Wert nicht zwingend über Hash-Funktionen realisiert werden.
Die Klasse Dictionary ist eine abstrakte Klasse, die Operationen für Datenstrukturen anbietet, bei denen Objekte (also Schlüssel und Wert) miteinander assoziiert werden. Hashtable ist eine Unterklasse von Dictionary. Mit der Einführung der Schnittstelle Map hat Dictionary keine große Bedeutung mehr.
Hier klicken, um das Bild zu Vergrößern
|