HashMap und HashTable
-
Hallo Leute
kann mir mal einer sagen was die Unterschiede zwischen Hashmap und HashTable sind.
Danke!!!1
-
The HashMap class is roughly equivalent to Hashtable, except that it is unsynchronized and permits nulls.
-
Danke!!!
aber das habe ich auch in javadoc gelesen, verstehe aber nicht so viel kannst du mir nicht was Ausführliches in Deutsch schreiben???Danke
-
@yasar: Was <esel> sagen wollte ist, dass die HashMap bei der Benutzung von Threads nicht so sicher ist wie eine HashTable. Außerdem lassen sich in eine HashMap null-Objekte und sogar null-Schlüssel einfügen - bei einer HashTable geht das nicht.
-
Ob eine Methode synchronisiert oder nicht synchronisiert ist, hat Auswirkungen auf die Zeit, die ein Methodenaufruf kostet und darauf, wie die Methode im Zusammenhang mit Threads behandelt wird. Synchronisierte Methoden werden letztendlich als "atomar" behandelt. Das heißt, dass bei der Ausführung der Methode kein anderer Thread aktiv werden kann. Das kann notwendig sein, wenn man mit mehreren Threads arbeitet, da sonst möglicherweise Fehler auftreten könnten. Wenn man nicht mit mehreren Threads arbeitet, ist die nicht-synchronisierte Version vorzuziehen, da hier die Methodenaufrufe deutlich schneller sind.
-
dass die HashMap bei der Benutzung von Threads nicht so sicher ist wie eine HashTable
hört sich nach nem Nachteil an, in der Praxis bedeutet das aber auch das HashMap schneller ist (imo wichtiger)
-
Original erstellt von crass:
hört sich nach nem Nachteil an, in der Praxis bedeutet das aber auch das HashMap schneller ist (imo wichtiger)Generell ist es wichtiger, dass das richtige Ergebnis rauskommt und nicht wie schnell das Ergebnis kommt.
...IMO
-
Ja aber gerade bei elementaren Klassen wie Conttainern is Geschwindigkeit wichtig, weil wenn schon die Basis-Klassen lahm sind sind alle Klassen die auf ihnen aufbauen oder sie als Member beinhalten auch lahm.. und Threadsicherheit kann man auch außerhalb der COntainer umsetzen wenn mans wirklich braucht.
-
Danke an euch allen hab verstanden.