# Crashkurs Listen / Bäume



## Razen (1. Feb 2010)

Ich suche ne verständliche Seite wo die Grundlagen für Java Listen (EInfach und doppelt verlinkt) sowie Bäume in Java (auf Deutsch) zu finden sind - aber so richtig verständliches finde ich nicht - ne Erklärung wäre natürlich auch Klasse. 

Ein Paar Einzelaspekte glaub ich schon verstanden zu haben, einige Threads hier waren gnz nützlich, aber so das gesamtbild fehlt mir noch  

Selbiges brauch ich für Bäume... - wer hilft dem ist ein echt großes danke gewiss :applaus:


----------



## nrg (1. Feb 2010)

also ich finde zum Einstieg gailer-net oder das SCJP-Buch von Ina Brenner sehr nett verfasst. 

Kapitel 54 — Vector-Klasse und Aufzhlungen
http://www.inabrenner.de/pdf/SCJP.pdf (Kapitel 12 - Das Collections-Framework)

Les dir das mal durch. Gailer-net ist auch ein wenig interaktiv gestaltet.

grüße
nrg


----------



## Marco13 (1. Feb 2010)

nrg hat gesagt.:


> Kapitel 54 — Vector-Klasse und Aufzhlungen



 Nein :noe: die Vector-Klasse ist "veraltet". Man kann sie zwar verwenden, aber NUR (NUR NUR NUR) als ein Ersatz für Collections.synchronizedList. Man sollte also NICHT die Methoden "getElementAt" usw. verwenden, sondern nur die Methoden aus dem List-Interface:

```
// OK
List<Something> list = new Vector<Something>();
Something s = list.get(0);

// NICHT OK
Vector<Something> vector = new Vector<Something>(); // NICHT OK
Something s = vector.getElementAt(0); // NICHT OK
```


----------



## nrg (1. Feb 2010)

obwohl ich selbst eine ArrayList bevorzuge, würde ich gerne wissen, warum man Vector nicht verweden soll? Immerhin ist Vector ja nicht deprecated.

grüße
nrg


----------



## Razen (1. Feb 2010)

Danke für die Tipps, mein Problem ist aber das ich die ArrayList meinte und nicht Vector


----------



## nrg (1. Feb 2010)

Also o.g. zweiter Link beinhaltet afaik (nur kurz drübergeschaut) alle Collections. Danach kommen noch Übungen/Lösungen. Wenn du die lösen kannst, hast du definitiv die Hintergründe verstanden (sind "SCJP-Prüfungs-Ähnliche" Fragen, dh *sehr* theorielastig)

grüße
nrg


----------



## Razen (1. Feb 2010)

stimmt, .das wichtigste hätten wir, danke


----------



## ARadauer (1. Feb 2010)

Willst du wirkllich eine Anleitung für die JAVA Collections oder willst du selber eine verkette Liste bzw einen Baum implementieren... so wie man es im ersten Semster macht?


----------



## Razen (1. Feb 2010)

letzteres, und bevor ich das mach erstmal die sachen verstehen - und das hab ich mittlerweile


----------



## ARadauer (1. Feb 2010)

mhn sorry kann dir da auch nicht bieten. jedoch gibt es tausende unerlagen von irgendwelchen hochschulen im internet. also "doppelt verkettete liste java" in google und du findest sicher ein paar gute... das thema nimmt man zu 99% als informatiker im ersten semester durch...


----------



## Marco13 (1. Feb 2010)

nrg hat gesagt.:


> obwohl ich selbst eine ArrayList bevorzuge, würde ich gerne wissen, warum man Vector nicht verweden soll? Immerhin ist Vector ja nicht deprecated.




Wie gesagt: Man kann ihn verwenden. Aber man sollte (um die Flexibilität zu wahren) nicht sehen, dass es ein Vector ist. Wenn man schreibt

```
Vector<Something> vector = new Vector<Something>();
Something s = vector.getElementAt(0);
```
dann ist man auf Vector festgelegt. Wenn man stattdessen schreibt

```
List<Something> list = new Vector<Something>();
Something s = list.get(0);
```
dann kann man diesen "Vector" später z.B. durch eine LinkedList oder eine ArrayList oder eine CopyOnWriteArrayList oder irgendeine andere "List" ersetzen, ohne dass sich am übrigen Code was ändert.


----------

