Forum: PC-Programmierung Objektsammlung flexibler Größer in Java


von Robert B. (rsb89)


Lesenswert?

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
von Εrnst B. (ernst)


Lesenswert?

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
von Robert B. (rsb89)


Lesenswert?

Danke für den Tip!

Ich habe noch "set" gefunden, wo kein Element doppelt vorkommt wenn ich 
es richtig verstanden habe.

von Εrnst B. (ernst)


Angehängte Dateien:

Lesenswert?

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
von Robert B. (rsb89)


Lesenswert?

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
Noch kein Account? Hier anmelden.