Hallo zusammen, ich versuche gerade Java zu lernen und bin nun auf "Arrays" flexibler Größe gestoßen. Nun gibt es in Java dafür ja mehrere Möglichkeiten: ArrayList: Index ganze Zahl, also Integer Hashtable: Index beliebiges Objekt (Schlüssel) Vector: Objekte enthalten Zeiger auf Folgeobjekt Habe ich das so erstmal richtig verstanden? Also sind das die wesentlichen Unterschiede der Varianten? Gibt es weitere ähnliche Möglichkeiten in Java?
:
Bearbeitet durch User
Robert B. schrieb: > Vector: Objekte enthalten Zeiger auf Folgeobjekt Das wäre eher die "LinkedList". > Gibt es weitere ähnliche Möglichkeiten in Java? sh. hier: http://docs.oracle.com/javase/6/docs/technotes/guides/collections/overview.html btw. Implementationen von: http://docs.oracle.com/javase/6/docs/api/java/util/Collection.html
:
Bearbeitet durch User
Danke für den Tip! Ich habe noch "set" gefunden, wo kein Element doppelt vorkommt wenn ich es richtig verstanden habe.
Robert B. schrieb: > Ich habe noch "set" gefunden, wo kein Element doppelt vorkommt wenn ich > es richtig verstanden habe. Ist doch schön in der Tabelle ersichtlich, was Java da anbietet. Vier verschiedene Interfaces (= Container-Arten), "Set", "List", "Deque", "Map". Und für jede konkrete Implementationen mit leicht unterschiedlichen Eigenschaften. Set ist eine "Menge" von Elementen, jedes kann nur einmal vorkommen. Map ist eine Menge von "Key, Value"- Paaren, jeder Key kann nur einmal vorkommen, zugriff über den Key. List (im Kontext der Java-Collections): wie Map, mit numerischem Key, und/oder: Schnellen Operationen am Listen-Anfang/Ende. Deque: "Double ended Queue": Schneller Wahlfreier Zugriff, Schnelles Push, Pop, Shift, Unshift. Verbindet sozusagen die Vorteile von List und Array.
:
Bearbeitet durch User
Ja,schöne Übersicht. Danke! Hab leider jetzt erst Zeit gehabt mir die Links anzusehen ;)
:
Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.