Objektbaum durchlaufen

kirbylix

Mitglied
hi

ich möchte gern einen dynamisch erstellten Objektbaum durchlaufen, der sich wie folgt aufbaut:

Klasse A, enthält:
Attribute

Klasse B, enthält:
Attribute
ArrayList<KlasseA>

Klasse C, enthält:
ArrayList <KlasseA>

Klasse B & C erben von Klasse A

in den ArrayListen kann ich je nach Lust und Laune Klasse A, B oder C hinzufügen
das Rootelment ist die Klasse C.

Ich möchte gerne mit dieser methode dann gerne 2 Objektbäume miteinander vergleichen und bei unterschiedlichen oder fehlenden Knoten/ Attribute arbeiten können.
Ich hoffe ich hab mein Problem genau erklärt und ihr könnt mir helfen oder habt eine bessere Lösung für mich

danke schonmal im voraus
 
Zuletzt bearbeitet:

faetzminator

Gesperrter Benutzer
Hast du bereits Lösungsansätze? Wir kauen dir hier nicht jede Codezeile vor...
Tipp: einen Baum kann man entweder rekursiv oder iterativ durchlaufen, je nach dem macht das eine oder andere Sinn.
 

kirbylix

Mitglied
ich habe schon versucht in der Klasse A eine Methode zu schreiben die das Objekt returnt die ich dann in der Klasse B & C überschreibe, aber das wars auch nicht.
 

Michael...

Top Contributor
Evtl. wäre es hilfreich, den tieferen Sinn hinter dem ganzen zu erläutern.
Enthalten die Lists in B und C - zumindest teilweise - die selben Objekte?
 

D4rkscr43m

Bekanntes Mitglied
Ich würde an deiner Stelle für alle Klassen die
Code:
public boolean equals(Object)
Methode überschreiben.
In der Klasse A werden dann z.B. alle gemeinsamen Properties verglichen und die Klasse des 2. Objektes.
In den Klassen B und C rufst du erstmal den Vergleich der Basisklasse auf, ist dieser false enthalten die Objekte entweder unterschiedliche Daten oder sind gar von einem anderen Typ.
Sollte der Vergleich in der Basisklasse true ergeben kannst du über die Elemente der Listen iterieren und für jedes Element dann wieder
Code:
equals
aufrufen

Solltest du wirklich genau an der Stelle eingreifen möchten, an der 2 Objekte dann nicht die gleichen Daten oder Listen enthalten kannst du dafür ja z.B. einfach einen Vergleich auf false in der
Code:
equals
Methode setzen und dort dann deinen Code ausführen.
 
Zuletzt bearbeitet:

kirbylix

Mitglied
@Micheal
der Baum enthält dann ein Strukturverzeichnis eines Ordners
Klasse A -> Datei
Klasse B -> Programm
Klasse C -> Ordner

ich muss die 2 Ordner miteinander vergleichen (falls ein Ordner/ Datei fehlt/ hinzugefügt oder das Änderungsdatum höher ist soll ein Attribut geändert werden) und die ID (Attribut in Datei) eines Knoten (Datei/ Ordner/ Programm) soll im Baum2 für den selben Knoten übernohmen werden.

@D4rkscr43m
ich versteh noch nicht ganz was du meinst, aber ich schau mal was sich machen lässt
 

Michael...

Top Contributor
Sollen dann bei den Objekten in beiden Bäumen die Attribute identisch sein? Kannst Du dann nicht einfach dasselbe Objekt in beide Bäume stecken?
 

kirbylix

Mitglied
Baum1 lies ich aus einem XML-File ein, das die alte strucktur enthält
in Baum2 lies ich das "neu" aktuelle Verzeichnis ein
und jetzt will ich beide vergleichen und ich muss für später, die ID der Dateien/ Ordner in Baum1 den selben Dateien/ Ordner in den Baum2 übertragen
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Bugs Bunny Fehlerhafte Berechnung beim erneuten Durchlaufen der Schleife Java Basics - Anfänger-Themen 5
1 Array rekursiv durchlaufen Java Basics - Anfänger-Themen 8
Cassy3 Binäre Bäume Rekursiv durchlaufen und bestimmte Elemente Zählen Java Basics - Anfänger-Themen 6
K Erste Schritte Wie schnell ist LinkedHashMap im Vergleich zur ArrayList, wenn alle Entries durchlaufen werden? Java Basics - Anfänger-Themen 47
TimoN11 Array -> Schleife wieder von vorne durchlaufen lassen Java Basics - Anfänger-Themen 1
E Timer trotz erwartender Eingabe durchlaufen lassen Java Basics - Anfänger-Themen 11
E Baum pfadweise durchlaufen Java Basics - Anfänger-Themen 11
S Array X-mal durchlaufen und dann N-mal durchlaufen Java Basics - Anfänger-Themen 20
W Eigener Iterator soll mehrdimensionales Array durchlaufen Java Basics - Anfänger-Themen 4
B Klassen Alle Unter-Objekte durchlaufen in der Hauptklasse Java Basics - Anfänger-Themen 10
I Methoden Schleife immer wieder durchlaufen lassen Java Basics - Anfänger-Themen 15
S Rekursives Durchlaufen eines Verzeichnisses - AccessDeniedException behandeln Java Basics - Anfänger-Themen 1
T Objekt-Arrays mit einer Schleife durchlaufen/ausgeben Java Basics - Anfänger-Themen 2
B Durchlaufen von Hashmap und Arraylist Java Basics - Anfänger-Themen 8
B OOP Liste durchlaufen Java Basics - Anfänger-Themen 12
G Mehrere If-else-Sätze der Reihe nach durchlaufen lassen Java Basics - Anfänger-Themen 2
C Laufzeitverhalten beim zeilenweise durchlaufen eines 2 dimensional array Java Basics - Anfänger-Themen 6
W If_Bedingung in statischer Methode beim zweiten Mal nicht durchlaufen Java Basics - Anfänger-Themen 14
L Klassen nacheinander durchlaufen? Java Basics - Anfänger-Themen 5
A do while Schleife wird 2 mal durchlaufen Java Basics - Anfänger-Themen 3
J Baum rekursiv durchlaufen Java Basics - Anfänger-Themen 2
K Stammbaum durchlaufen (Iteration etc) Java Basics - Anfänger-Themen 9
D HashMap Keys durchlaufen Java Basics - Anfänger-Themen 2
R Switch: Nach durchlaufen des Case wieder zum Menü Java Basics - Anfänger-Themen 3
S Methoden Return Anweisung beendet Methode nicht, stattdessen wird diese zweimal durchlaufen Java Basics - Anfänger-Themen 3
A Array wird nicht durchlaufen Java Basics - Anfänger-Themen 10
A Treeset per For-Schleife durchlaufen Java Basics - Anfänger-Themen 2
S Erfahrungswerte von schnelles durchlaufen von Listen mit 2 Werten Java Basics - Anfänger-Themen 10
A Datentypen Iterator von hinten nach vorne durchlaufen Java Basics - Anfänger-Themen 4
M Zweidimensionales Array durchlaufen Java Basics - Anfänger-Themen 4
C dynamische JTextFields durchlaufen Java Basics - Anfänger-Themen 5
J äußere for schleife wird nur einmal durchlaufen Java Basics - Anfänger-Themen 8
T Datentypen Verschachtelte Map durchlaufen Java Basics - Anfänger-Themen 4
N Map Durchlaufen Java Basics - Anfänger-Themen 20
R Fehler in Rekursion (Unterordner durchlaufen) Java Basics - Anfänger-Themen 2
J Problem Arraylist durchlaufen Java Basics - Anfänger-Themen 7
K methode wird nur einmal korrekt durchlaufen Java Basics - Anfänger-Themen 4
B Array durchlaufen und sortieren Java Basics - Anfänger-Themen 9
N HashMap mit Iterator durchlaufen Java Basics - Anfänger-Themen 11
P Klassen-konstanten durchlaufen Java Basics - Anfänger-Themen 9
M Durchlaufen von Sets Java Basics - Anfänger-Themen 11
H Monat durchlaufen Java Basics - Anfänger-Themen 2
W Textfiles durchlaufen Java Basics - Anfänger-Themen 11
M Durchlaufen eines Verzeichnisbaums Java Basics - Anfänger-Themen 5
G Rekursion mit Return - Baum durchlaufen Java Basics - Anfänger-Themen 4
F Objektnamen mit Schleife durchlaufen. Java Basics - Anfänger-Themen 10
G [Threads]: Mit mehreren Threads 1 ArrayList durchlaufen Java Basics - Anfänger-Themen 19
G HashMap durchlaufen und alle keys mit values ausgeben Java Basics - Anfänger-Themen 4
M Variablen einer Klasse zu durchlaufen möglich? Java Basics - Anfänger-Themen 5
K 2D Array spaltenweise durchlaufen Java Basics - Anfänger-Themen 4
G Baumstruktur rekursiv durchlaufen Java Basics - Anfänger-Themen 2
M Textfile durchlaufen und ersetzen Java Basics - Anfänger-Themen 2
M textboxen mit schleife durchlaufen. Java Basics - Anfänger-Themen 5
G Alle Componente eines JFrame durchlaufen Java Basics - Anfänger-Themen 3
P Schleife wird falsch durchlaufen!? Java Basics - Anfänger-Themen 3
H HashMap durchlaufen Java Basics - Anfänger-Themen 4
M Verzeichnisse rekursiv durchlaufen und dann RegEx Java Basics - Anfänger-Themen 6
J Durchlaufen von Vektoren Java Basics - Anfänger-Themen 14
G Array mit Schleife durchlaufen - guter Stil? Java Basics - Anfänger-Themen 20
K durchlaufen einer methode zählen Java Basics - Anfänger-Themen 15
M for-Schleife und Variablen automatisch durchlaufen Java Basics - Anfänger-Themen 2
W Baum durchlaufen Java Basics - Anfänger-Themen 3
M String mit For Each durchlaufen Java Basics - Anfänger-Themen 4
E liste rekursiv durchlaufen? Java Basics - Anfänger-Themen 3
S NameValuePair durchlaufen Java Basics - Anfänger-Themen 4
D Verzeichnisse rekursiv durchlaufen Java Basics - Anfänger-Themen 3
M HashMap durchlaufen: Was stimmt nicht? Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben