ArrayList ObjektElement behalten und neues hinzufügen

Xerxes20

Mitglied
Guten Tag liebe Gemeinde,

es gibt ja get und set-Methoden immer für ein Objekt, jetzt wollte ich fragen, ob es auch eine add Methode gibt, die nicht das alte ersetzt sondern etwas neues hinzufüg?

Ich habe nämlich folgendes Problem:

Wenn ich ein Fenster öffne wird ein leeres Objekt in einem Array erstellt.

Das Objekt beinhaltet sagen wir mal Hände und Füße. Man kann immer wieder neue Hände und Füße hinzufügen.

Wenn man eine neue Hand hinzufügen will, öffnet sich ein weiteres Fenster und dort kann man einer Hand einen Namen geben, bei Klick auf ok wird die Hand in dem Objekt unter "Hände" gespeichert.

Wenn man jetzt wieder eine neue Hand einfügen will, wird die alte durch die set-Methode ja überschrieben, dass heißt das alte ist weg!

Desweiteren sollten die Objekte später beim aufruf in einer Liste ihre Hände und Füße so ausgeben, wie sie eingefügt wurden.

Bitte um Hilfe
 
Warum benutzt du nicht einfach die add-Methode? Wer hat dir gesagt, dass man das mit set() macht? set() ist nur zum Ersetzen bereits bestehender Einträge.
 
Meinst du die add Methode der arrayList oder allgemein eine add-Methode schreiben? Ich will ja kein neues Objekt hinzufügen sondern etwas zu einem schon vorhandenen Element eines Objektes hinzufügen.
 
Hmm... Wenn ich das richtig verstehe, dann willst du also ein bestehendes und in der Liste vorhandenes Objekt manipulieren und nicht ein neues hinzufügen. Dann musst du doch nur auf das Objekt zugreifen und die entsprechenden Methoden aufrufen.

Java:
List list = new ArrayList();
list.add(new MyObject());
list.add(new MyObject());
list.add(new MyObject());

list.get(0).setXY(<value>);
list.get(0).setYZ(<value2>);

// oder so
MyObject o = list.get(0);
o.setXY(<value>);
o.setYZ(<value2>);
 
genau du hast es richtig verstanden!

Leider werde ich aus dem code nicht schlau :(

Du holst das Objekt an der Stelle 0 und setzt etwas ein, genau das ist das Problem die set-Methode löscht das alte und setzt ein neuen String, ich will ja dass er es hinzufügt
 
Ich habe die set-Methode des Objektes in der Liste aufgerufen und nicht die set-Methode der Liste. Es wird in der Liste nix ersetzt, es wird einfach nur in dem Fall das erste Objekt verändert, es bekommt neue Werte, mehr nicht. Wo ist also das Problem?

Vielleicht solltest du mal deinen Code posten, die Sache könnte dann vielleicht etwas aufschlussreicher sein.
 
Zuletzt bearbeitet:
Ok, dann mal anders. Es sollen keine neuen Objekte zur Liste hinzugefügt bzw. ersetzt werden. Es sollen jeweils die Objekte in der Liste verändert werden, aber anscheinend sollen zu den Werten in den Objekten welche hinzukommen anstatt sie zu ersetzen.

Kann es sein, dass du eine Art verschachtelte Liste hast, also eine Liste in einer Liste? Von mir aus mit eigenen Objekten, aber als eine Art Liste entworfen. Weil sonst versteh ich da echt nix, da wäre der Code schon echt gut.
 
vergessen wir das ganze!

Ich habs hinbekommen! Man nehme einfach die geht Methode und füge den String den hinzufügen will hinten dran eignetlich ganz simpel!

Jetzt wüsste ich gerne wie man Strings filtert, also z.B.:

Tim(ängstlich): "Ich habe angst"

Ich möchte Tim, ängstlich, und den text herausfiltern geht das?
 
Zuletzt bearbeitet:
Sind die Strings immer nach dem gleichen Muster aufgebaut? Wenn ja, dann ginge das und zwar mit RegEx. Tutorials gibts dazu auch jede Menge, sollte also nicht so das Problem sein.
 
Zurück