tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
3
ZUGRIFFE
2410
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    robbob robbob ist offline Grünschnabel
    Registriert seit
    May 2010
    Beiträge
    3
    Servus Jungens,

    ich steh grad aufm Schlauch und frag mich, warum der folgende Code
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
                    ArrayList<Integer> al1 = new ArrayList();
            ArrayList<ArrayList> al2 = new ArrayList();
            al1.add(1);
            al1.add(2);
            al1.add(3);
            al2.add(0,al1);
            al1.clear();
            al1.add(4);
            al1.add(5);
            al1.add(6);
            al2.add(1,al1);
            System.out.println(al2);

    zu dieser Ausgabe führt: [[4, 5, 6], [4, 5, 6]]

    und nicht zu dieser: [[1, 2, 3], [4, 5, 6]]

    Wo ist mein Verständnis-Problem?
    Wie müßte es denn richtig aussehen?

    Vielen Dank schon einmal!!
    robbob
     

  2. #2
    Kai008 Kai008 ist offline Mitglied Brillant
    Registriert seit
    May 2008
    Ort
    Brunn/Geb. (Niederösterreich)
    Beiträge
    944
    Blog-Einträge
    1
    Na weil du eine Liste machst, sie mit 1, 2, 3 befüllst, sie leerst, sie mit 4, 5, 6 befühllst und 2 mal hinzufügst.

    Code java:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    
    List<List<Integer>> al2 = new ArrayList();
    List<Integer>[] als = new ArrayList[2];
    als[0] = new ArrayList();
    als[1] = new ArrayList();
     
    als[0].add(1);
    als[0].add(2);
    als[0].add(3);
     
    als[1].add(4);
    als[1].add(5);
    als[1].add(6);
     
    al2.add(als[0]);
    al2.add(als[1]);
     
    System.out.println(al2);

    VHidT.
     
    Mein kleiner webstart Projektplaner:
    http://178.77.101.236/ppws/
    Ideen, Verbesserungsvorschläge, Bugsmeldungen und allg. Kritik erwünscht und erbeten.

    Danke. :)

  3. #3
    Avatar von zerix
    zerix zerix ist offline Hausmeister
    tutorials.de Moderator
    Registriert seit
    May 2005
    Beiträge
    4.335
    Hallo,

    es ist wie Kai sagt, du arbeitest auf dem gleichen objekt. Wenn du die Liste 1 der anderen Liste hinzufügst, wird keine Kopie der Liste sondern der Referenz erstellt.

    Gruß

    Sascha
     
    Es ist schwer Allwissend zu sein. Aber ich komme damit klar. ;-)

  4. #4
    robbob robbob ist offline Grünschnabel
    Registriert seit
    May 2010
    Beiträge
    3
    Hey Jungs,

    danke euch! Alles klar, da war also mein Gedanken-Fehler, geht jetzt.

    ...man, ihr seid ja auch zu unchristlichen Zeiten im Forum unterwegs?!

    Gruß,
    robbob
     

Ähnliche Themen

  1. Matrix Verständnis-Problem
    Von blutsvente im Forum Cinema 4D
    Antworten: 4
    Letzter Beitrag: 20.09.10, 15:59
  2. C Threads und Beginner = Verständnis-Problem
    Von WingMan81 im Forum C/C++
    Antworten: 16
    Letzter Beitrag: 25.09.09, 13:02
  3. C++ Verständnis Problem!!
    Von Foxgame im Forum C/C++
    Antworten: 6
    Letzter Beitrag: 20.11.07, 22:45
  4. verständnis PROBLEM
    Von Tageslicht im Forum PHP
    Antworten: 4
    Letzter Beitrag: 11.12.04, 10:43
  5. Verständnis Problem mir DB Update
    Von xtraMen im Forum PHP
    Antworten: 4
    Letzter Beitrag: 26.09.04, 12:56

Stichworte