B
Beni
Gast
... bitte lösen :bae:
Ne, ernsthaft. Da bei uns tatsächlich eine Frage über Java kommt (ein Ereignis, das gewürdigt werden muss. Wir lernen eine jahrzente alte Sprache, Eiffel...), will ich doch mal die Community damit beglücken. :wink: (P.S. es geht um Hashtables)
In der Programmiersprache Java hat die Klasse Object, die Methode "hashCode", welches die Adresse, an der das Objekt gespeichert ist, als int zurückgibt.
a) was für Vorteile hat diese Implementation
b) Kann man diese Implementation für alle Klassen benutzen?
Meine Überlegungen führten mal zu:
a)
- Jedes Object kann als Schlüssel verwendet werden.
- Der Schlüssel wird ziemlich zufällig gewählt.
- Die Methode ist schnell
b)
- Vom Standpunkt der Vererbung: ja
- Vom Standpunkt der Definition einer Hashfunktion: nein. Verschiedene Instanzen von Objekten mit gleichem Inhalt müssten denselben Schlüssel generieren, tun sie aber nicht. Das Problem kann nur durch überschreiben von hashCode gelöst werden.
Befindet sich hier ein Datenbank-Spezialist? :wink:
mfg Beni
Ne, ernsthaft. Da bei uns tatsächlich eine Frage über Java kommt (ein Ereignis, das gewürdigt werden muss. Wir lernen eine jahrzente alte Sprache, Eiffel...), will ich doch mal die Community damit beglücken. :wink: (P.S. es geht um Hashtables)
In der Programmiersprache Java hat die Klasse Object, die Methode "hashCode", welches die Adresse, an der das Objekt gespeichert ist, als int zurückgibt.
a) was für Vorteile hat diese Implementation
b) Kann man diese Implementation für alle Klassen benutzen?
Meine Überlegungen führten mal zu:
a)
- Jedes Object kann als Schlüssel verwendet werden.
- Der Schlüssel wird ziemlich zufällig gewählt.
- Die Methode ist schnell
b)
- Vom Standpunkt der Vererbung: ja
- Vom Standpunkt der Definition einer Hashfunktion: nein. Verschiedene Instanzen von Objekten mit gleichem Inhalt müssten denselben Schlüssel generieren, tun sie aber nicht. Das Problem kann nur durch überschreiben von hashCode gelöst werden.
Befindet sich hier ein Datenbank-Spezialist? :wink:
mfg Beni