Da ich bald vor der Prüfung stehe, bin ich am Grübeln, wofür der o.g. Betreff steht. Könnt Ihr mir
erklären, was der Unterschied zwischen Hashtable, Vector und Arrays ist? Und für welchen Zweck?
Irgendwelche Beispiele damit habe ich bei mir. Nur das, was ich da oben gefragt habe, würde ich mich
interessieren.
Für Eure ausführliche Antworten danke ich euch schon mal!
ah seh gerade hab damals gar keine Maps mehr besprochen.
Eine Map ist eine Struktur um für einen spezifischen Schlüssel einen Wert zu speichern (wobei beide auch komplexere Strukturen sein können). Hashtable / Hashmap sind Implementierung einer Map, die mit den Hashwerten des schlüssels arbeiten.
Unter oben genannter Links habe ich es durchgelesen und finde es, dass es gut geklärt ist, aber da fehlt was, wofür man es braucht. Wißt Ihr, wofür man das braucht? Gib nur ein paar Beispiele dafür, danke!
Unter oben genannter Links habe ich es durchgelesen und finde es, dass es gut geklärt ist, aber da fehlt was, wofür man es braucht. Wißt Ihr, wofür man das braucht? Gib nur ein paar Beispiele dafür, danke!
Öhm - Zitat "in die man mehrere Objekte hineintun kann und wieder rausholen kann." Genau dafür, aber vermutlich habe ich deine Frage nicht richtig verstanden.
Uff..ich überlege, was für eine Frage ich gleich stelle, die Ihr verstehen könnt...
Wollte wissen, da so viele Objektsammlungen in Java gibt, wofür es ist..z.B. für Datenbank, Bilder, Liste oder was anderes, was von irgendwelchem Bereich abhängt...
Edit: Och, da kommt eine Antwort, die ich endlich wissen wollte. Jetzt ist es mir klar geworden.
Danke, fastjack! Super! :toll:
Die drei genannten Arten von "Objektsammlungen" fallen ja in unterschiedliche Kategorien.
Hashtable: Das ist eine spezielle Map
Vector: Das ist eine spezielle List (bzw. eine spezielle Collection)
Array: Das ist einfach nur ein Array
In dem verlinkten HowTo wird ja nur auf den zweiten Fall eingegangen, nämlich auf die Unterschiedlichen Arten von Collections, die es gibt.
Vielleicht so allgemein:
Eine Map (wie z.B. eine Hashtable) verwendet man, wenn man "irgendwelche" Objekte auf "irgendwelche" anderen Objekte abbilden will. Ganz im Sinne eines Wörterbuchs:
Code:
map.put("today", "heute");
map.put("tomorrow", "morgen");
String übersetzung = map.get("today");
System.out.println(übersetzung); // Gibt "heute" aus
Eine List (oder eine andere Collection): Dazu steht ja im Verlinkten Beitrag schon einiges.
Ein Array: Verwendet man meistens für primitive Datentypen (int, float) und seltener für Objekte. Allgemein verendet man einen Array i.a. nur, wenn die Anzahl der Elemente (d.h. die größe des Arrays) immer gleich bleibt.
Trotzdem glaube ich, dass du die Auswahl anhand der flaschen Kriterien triffst. Die Art der Objekte ist völlig uninterressant. Ob du jetzt Bilder, ints oder kleine grüne Männchen in eine HashMap oder eine Liste packst hängt davon ab, was für Operationen du mit diesen Objekten beabsichtigst. Willst du suchen, dann empfehlen sich Bäume die man allerdings selber mit diesen ADTs bauen muss. Viele Einfüge-Operationen gehen in Richtung LinkedList etc pp.