ArrayListe mit verschiedenen KlassenObjekte?
Hallo,
ich würde gerne wissen wie man eine ArrayList so implementieren kann, dass diese aus zwei unterschiedlichen Klassen, Objekte in einer ArrayList speichern kann.
3 Antworten
die sollten ja eine Gemeinsamkeit haben, sonst wären es ja zwei Listen. Idealerweise implementieren die beide ein gemeinsames Interface für genau diesen Aspekt, und damit wird die Liste typisiert.
Ansonsten geht auch eine Liste mit Objekten, und dann beim Iterieren dynamisch schauen welcher Typ drin liegt. Das ist die hässlichere Lösung.
List<Object> speichert alles.
Wenn du es auf bestimmte Objekte begrenzen willst, dann kannst du das über Vererbung lösen.
Z.B. nehmen wir an es gibt die abstrakte Klasse "Buchstabe".
Du willst Objekte der Klassen A und B speichern.
Dann deklarierst du die Klassen A und B so, dass sie Buchstabe erweitern.
List<Buchstabe> Kann dann die Klassen A und B aufnehmen.
Edit:
Kann sein, dass ich die Frage falsch verstanden habe.
Du solltest dich generell mal mit den Basics von Java beschäftigen, da scheint es ne Menge Nachholbedarf zu geben.
In Java geht das ohne Typsicherheit einfach als List<Object>, konkret ArrayList<Object>.
Das kann aber später hässlich werden. Wenn es deine eigenen Klassen sind über eine Ableitung.
Oberklasse X
- Typ1 extends Oberklasse
- Typ2 extends Oberklasse
Und dann eine List<Oberklasse> die kann beide Typ1 und Typ2 halten. Dann weiss man wenigistens dass nicht noch was ganz anderes drin sind.