"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

Java Arrylist Element kopieren

Bunny 29.10.2014 - 15:24 1904 7
Posts

Bunny

Addicted
Avatar
Registered: Oct 2002
Location: Austria
Posts: 525
Hallo Leute,

ich würde gerne von einem Arraylist<> Objekt ein Element davon in ein Anderes Arraylist<> Element kopieren...

hinzugefügt haben ich Objekte dieser Arrayliste wie folgt: liste.add(Objekt)

ich weis das ich mit liste.remove() wieder eines löschen kann... nur WIE kann man von einer Arrayliste in eine Andere Arrayliste ein Element kopieren??

funktioniert dies mit clone() ???

wäre super wenn mir jemand das erklären könnte. !!

danke. mfg

InfiX

she/her
Avatar
Registered: Mar 2002
Location: Graz
Posts: 14025
kenn mich zwar damit jetzt nicht aus, aber ich hätt spontan vermutet ca. so:

Code: JAVA
list2.add( list1.get(int index) )

?

Denne

Here to stay
Avatar
Registered: Jan 2005
Location: Germany
Posts: 2801
Möchtest du ein deep copy oder reicht eine Referenz auf das selbe Objekt?
Wenn zweites passt die Lösung von InfiX.

Falls du eine "richtige" Kopie willst, brauchst du sowas wie eine clone()-Methode. Wenns ein abstrakter Datentyp ist, musst du das mehr oder weniger selbst implementieren. In dem Fall kannste hier ja noch einmal posten und ich kann dir ein wenig helfen :)

Bunny

Addicted
Avatar
Registered: Oct 2002
Location: Austria
Posts: 525
Also was ich wirklich will, ist das eine Objekt aus der Liste1 heraus bringen und in die Liste2 zwei hinein bringen... somit wäre dies ein Hardcopy würd ich mal sagen...

murcielago

Dr. Doom
Avatar
Registered: Oct 2002
Location: *
Posts: 2689
nein, das objekt bleibt ja.

Code: JAVA
Object dasZuVerschiebende = deineListe1.get(x);
deineListe1.remove(dasZuVerschiebende);
deineListe2.add(dasZuVerschiebende);

oder einfacher

Code: JAVA
deineListe2.add(deineListe1.get(x));
deineListe1.remove(x);

-=Willi=-

The Emperor protects
Avatar
Registered: Aug 2003
Location: ~
Posts: 1624
Wenn du eine Referenz auf das Objekt hast reicht

Code: JAVA
ist1.remove(object);
list2.add(object);

Wenn du nur den Index hast, muss es sein

Code: JAVA
object = list1.get(index);
list1.remove(index);
list2.add(object);

Edit: pwnd. Man muss im include('coding_stuff.inc') echt schnell sein manchmal :D.
Bearbeitet von -=Willi=- am 29.10.2014, 16:14

Bunny

Addicted
Avatar
Registered: Oct 2002
Location: Austria
Posts: 525
@murcielago

ha!!

das funktioniert sogar.. !! die einfache variante :)

murcielago

Dr. Doom
Avatar
Registered: Oct 2002
Location: *
Posts: 2689
na klar funktionierts ;)
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz